sql - Most recent record value with multiple joins and subqueries -
i'm using ms sql server 2016. i'm trying recent measurement value row_number function still getting multiple records instead of recent measurement value. i'm bit outside of sql comfort zone , assistance appreciated. possible use row_number function inside of subquery?
select distinct v_pat_fact.pat_id, v_pat_fact.pat_name, cast(patient.birth_date date) "birth date", v_pat_fact.sex_name "gender", v_pat_fact.cur_pcp_name, v_pat_fact.pat_mrn_id, cast(dateadd(d,cast(fmid7947.meas_value numeric),'12/31/1840') date) "restart date", cast(dateadd(d,cast(fmid7948.meas_value numeric),'12/31/1840') date) "initial date", floor(cast(left(cast(fmid7739.meas_value numeric), 4) numeric (8,3))/16) "init goal wt", floor(cast(left(cast(fmid7912.meas_value numeric), 4) numeric (8,3))/16) "init restart wt", fmid8794.meas_value "tgt maint wt", floor(cast(fmid14.meas_value numeric(8,3))/16) "wt lbs", fmidbmi.meas_value "bmi", floor(cast(left(cast(fmid8796.fsd_id numeric), 4) numeric (8,3))/16)"total loss", fmid7752.meas_value "bariatric med" v_pat_fact v_pat_fact left outer join patient on v_pat_fact.pat_id = patient.pat_id inner join ip_flwsht_rec on v_pat_fact.pat_id = ip_flwsht_rec.pat_id inner join ip_flwsht_meas on ip_flwsht_rec.fsd_id = ip_flwsht_meas.fsd_id , ip_flwsht_meas.flt_id = '343' , ip_flwsht_meas.flo_meas_id in ( '7947', '7948', '7739', '7912', '8794', '8481', '14', '301070', '8796','7752' ) inner join ip_flo_gp_data on ip_flwsht_meas.flo_meas_id = ip_flo_gp_data.flo_meas_id left outer join ( select distinct mes.flo_meas_id, mes.meas_value, vp.pat_id, rsdate.meas_value "something" pat_enc vp inner join ip_flwsht_rec rec on vp.pat_id=rec.pat_id inner join ip_flwsht_meas mes on rec.fsd_id=mes.fsd_id inner join ( select m.*, row_number() on (partition fsd_id order entry_time desc) rn ip_flwsht_meas m m.flo_meas_id = '7948' ) rsdate on mes.fsd_id = rsdate.fsd_id mes.flo_meas_id ='7948' ) fmid7948 on v_pat_fact.pat_id = fmid7948.pat_id
Comments
Post a Comment