我有一张桌子有很多商品代码,然后我选择' 09015' 09002' 09025' 09026' 09025' 09026&# 39;这些项目代码,其中pat_no =' 33516',问题是如何比较这些项目代码的最大rpt_time?
这是我的T-SQL查询:
base tabel / view not found
结果:
答案 0 :(得分:0)
您可以使用以下两种查询之一:
SELECT
pat_no, item_code, [value], rpt_time
FROM Tmhtc_PHR.dbo.lab_item
WHERE pat_no, item_code, rpt_time IN (
SELECT pat_no, item_code, MAX(rpt_time)
FROM Tmhtc_PHR.dbo.lab_item
WHERE pat_no = '33561'
AND item_code IN ('09015', '09002', '09025', '09026')
GROUP BY item_code
)
ORDER BY pat_no, item_code;
或者
SELECT
i.pat_no, i.item_code, i.[value], i.rpt_time
FROM Tmhtc_PHR.dbo.lab_item i
INNER JOIN (
SELECT pat_no, item_code, MAX(rpt_time) AS max_rpt_time
FROM Tmhtc_PHR.dbo.lab_item
WHERE pat_no = '33561'
AND item_code IN ('09015', '09002', '09025', '09026')
GROUP BY item_code
) im
ON i.pat_no = im.i.pat_no AND i.item_code = im.item_code AND i.rpt_time = im.max_rpt_time
ORDER BY i.pat_no, i.item_code;