我正在尝试为语句LEFT JOIN
的每一行获取 a 的第一个结果。SELECT
因为现在,如果我在连接表中有 100 行,我将从SELECT
. 我只需要第一个加入的行,这样我就不会得到任何重复。
我不能使用GROUP BY
,因为我必须从表中获取不止一行。
这是我的查询的基本版本:
SELECT bg.PatientID, DATEDIFF(hour, bg.CreateDate, GETDATE()) TimeToTarget
FROM BloodGlucose bg
LEFT JOIN IVProtocol i ON i.PatientID = bg.PatientID
WHERE bg.BGValue >= i.TargetLow AND bg.BGValue <= i.TargetHigh
ORDER BY bg.PatientID ASC
我尝试使用DISTINCT
,但由于来自的数据bg.CreateDate
并不总是相同,它返回重复项。
我只需要左连接表的第一行。
有什么想法/建议吗?
谢谢!