在訪問我寫此查詢:訪問LEFT JOIN不能正常工作
Select
I.sysid, I.MemberNumber, I.Date, I.Distributer,
F.MemberNumber as FMember, F.Date as FDate, I.Distributer as FDistributer
From Initial as I
Left Join Final as F ON
I.MemberNumber=F.MemberNumber and
I.Distributer=F.Distributer and
I.Date>=F.Date-14 and
I.Date<=F.Date+14;
但左連接不正確的行爲。在這個表中有更少的行,然後在Initial ...中,但它應該保留來自初始的所有行,因爲我正在使用左連接,對嗎?我已經在最初發現了幾行(如sysid = 7,這是Initial的關鍵字),但沒有進入此表。
嘗試將非等聯接條件移動到WHERE子句中,即:LEFT JOIN END AS F ON I.MemberNumber = F.MemberNumber AND I.Distributer = F.Distributer WHERE I.Date> = F.Date- 14 AND I.Date <= F.Date + 14 - 這只是一個隱含的連接,而不是顯式的,可能會被Jet/ACE以相同的方式進行優化,但可能會更容易排除故障。 – 2010-08-20 20:57:20