我試圖獲得SELECT
語句的每一行的第一個結果LEFT JOIN
。僅從左加入獲取第一個結果
因爲現在,如果我在連接表中有100行,我會從SELECT
獲得100倍的同一行。我只需要第一個連接的行,這樣我就不會有任何重複。
我不能使用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
數據並不總是相同的它返回重複。
我只需要左連接表的第一行。
任何意見/建議?
謝謝!
你能解釋一下你如何定義 「'FIRST'」? – 2012-08-13 17:21:33
我需要從'LEFT JOIN'中取得的第一個結果。但告訴你,我想我會需要一個子查詢,因爲沒有加入順序... – TomShreds 2012-08-13 17:23:45
是的,我仍然不知道你的意思是「第一結果」 – 2012-08-13 17:24:11