select x.* ,y1.val6 as soc1 ,y2.val6 as soc2 ,y3.val6 as soc3 ,y4.val6 as soc4 ,y5.val6 as soc5 ,y6.val6 as soc6 ,y7.val6 as soc7 ,y8.val6 as soc8 from ( select* from DCWLW.dbo.newbox_b002 where nbox_b002_id in (selectMAX(nbox_b002_id) from DCWLW.dbo.newbox_b002 groupby device_code) )x leftjoin DCWLW.dbo.device_date y1 on x.door1_bat_code=y1.barcode leftjoin DCWLW.dbo.device_date y2 on x.door2_bat_code=y2.barcode leftjoin DCWLW.dbo.device_date y3 on x.door3_bat_code=y3.barcode leftjoin DCWLW.dbo.device_date y4 on x.door4_bat_code=y4.barcode leftjoin DCWLW.dbo.device_date y5 on x.door5_bat_code=y5.barcode leftjoin DCWLW.dbo.device_date y6 on x.door6_bat_code=y6.barcode leftjoin DCWLW.dbo.device_date y7 on x.door7_bat_code=y7.barcode leftjoin DCWLW.dbo.device_date y8 on x.door8_bat_code=y8.barcode