SQL Query Using WITH common_table_expression Fails in Codeigniter but Not SQL Studio
Possible this be helpful for you -
;WITH [rows] AS( SELECT a.[PatientID] , a.[BGValue] , a.[createdate] , a.[HospitalUnit] , Hospital = 'MSHA' , h.[system_name] , f.[facility_code] , f.[facility_name] , u.Treatment , rn = ROW_NUMBER() OVER (ORDER BY u.[PatientID], u.[createdate]) FROM ( SELECT PatientID , BGValue , createdate , HospitalUnit , Treatment = 'IV' FROM dbo.MSHA_IVTreatment WHERE createdate BETWEEN '20130501' AND '20130531' UNION ALL SELECT PatientID , BGValue , createdate , HospitalUnit , Treatment = 'SubQ' FROM dbo.MSHA_SubQTreatment WHERE createdate BETWEEN '20130501' AND '20130531' ) a JOIN [dbo].[MSHA_Patients] p ON p.[PatientID] = a.[PatientID] JOIN [dbo].[Facilities] f ON f.[facility_code] = p.[facility_code] JOIN [dbo].[Hospitals] h ON f.[Hospital] = h.[Hospital])SELECT mc.[PatientID] , mc.[BGValue] , mc.[createdate] , mc.[Hospital] , [System] = mc.[system_name] , mc.[facility_code] , mc.[facility_name] , mc.[HospitalUnit] , [Interval] = DATEDIFF(SECOND, mp.[createdate], mc.[createdate]) / 60 , mc.[Treatment]FROM [rows] mcJOIN [rows] mp ON mc.rn = mp.rn + 1 AND mc.[PatientID] = mp.[PatientID]ORDER BY mc.[createdate];