0
Table_A: Table_B:
Column_A Column_A Value EmpId
A A 1 1
B B 2 1
C - - -
D - - -
我有2個表,如上所示。我想獲得有關EMPID在SQL Server 2008中查詢寫入問題
我預計有關EMPID結果的表-A的所有記錄 - 1:
Column_A Value
A 1
B 2
C null
D null
我用下面的查詢:
Select * from Table_A a left join Table_B b on a.Column_A = b.Column_B
上述查詢將給出我的預期結果,但您可以看到它不會基於EmployeeId進行過濾。誰能幫我。由於
有快捷幫助請
這是如何從已經由Stuart所提供的答案有什麼不同? – freefaller
除了語法外,不要太多。但是,在where子句中添加條件是個好主意,如果用戶想要添加更多條件進行過濾,包括SQL Script中任何表的列。但是對於這個ans唯一的Stuart解決方案也是完美的。我只是通過記住未來的需求而添加了答案。 – AK47
這個答案的問題是,通過將條件添加到WHERE子句中,您已將結果集轉換爲INNER JOIN而不是LEFT OUTER JOIN。換句話說,只有具有b.EmpID爲1的行纔會被返回,這不是預期結果顯示的結果(表A中每行一行,表b中不匹配的空值)。 –