我正在嘗試使用下面的查詢連接兩個表Table1和Table2。我想要Table1中的所有列(和行)和Table2中的'BasedOnDate'列。 問題是,'BasedOnDate'列中的所有值在左連接後設置爲1,而不是在兩個表中都匹配的行上(如表1中的行1和表2中的第1行)。 ?左加入SQL查詢-MS Access
SELECT Table1.*, Table2.BasedOnDate
FROM Table1 LEFT JOIN Table2 ON (Table1.Name = Table2.Name) AND
(Table1.[Date-4] = Table2.[Date-4]) AND
(Table1.[Date-3] = Table2.[Date-3]) AND
(Table1.[Date-2]= Table2.[Date-2]) AND
(Table1.[Date-1] = Table2.[Date-1]) AND
(Table1.ID = Table2.ID) AND
(Table1.Site = Table2.Site);
Table2:
Site ID Date-1 Date-2 Date-3 Date-4 Name BasedOnDate
00001 201 3/30/2011 4/6/2011 4/3/2011 4/6/2011 Name-1 1
Table1:
Site ID Date-1 Date-2 Date-3 Date-4 Name
00001 201 3/30/2011 4/6/2011 4/3/2011 4/6/2011 Name-1
00001 101 5/21/2011 5/28/2011 5/21/2011 5/28/2011 Name-2
「Table2.Date-4」應該是日期減四或是您的列'Date-4'的名稱。在後者的情況下,您需要將這些列放在括號內的表格[Date-4]' – Brad
您確定您沒有where子句嗎?你能否在問題中包含實際結果? –
我對此陳述感到困惑:「在'BasedOnDate'列中的所有值在左連接之後被設置爲1,因爲樣本數據中的值是1? –