2012-09-17 31 views
0

我有兩個表:mysql的JOIN當一個表有沒有進入

球員player_id和名稱與player_id

團隊和TEAM_ID

並非所有的球員都在隊中的條目。

我試圖創建一個查詢,給出player_id,將返回名稱和NULL,如果player_id是在球隊表中找到。

我試過了各種JOIN,但是我得到null,null或者在表中找到的第一個team_id的名字。

感謝所有幫助

+1

LEFT JOIN應該這樣做 – codingbiz

+0

請給出兩個表格(球員和球隊)的樣本數據。 – Habibillah

+0

是的,這很有用。我以爲我嘗試過,但一定是錯誤地使用了它。 –

回答

3

做這個

SELECT p.PlayerID, t.PlayerID 
FROM Player p 
LEFT JOIN Team t 
ON p.PlayerID = t.PlayerID 

如果您希望NULL被返回挑t.PlayerID,就好像它在玩家

存在p.PlayerID將不能爲null你的結果看起來像這樣

PlayerID Player Name TeamID PlayerID 
------------------------------------------------- 
0001  John   NULL  NULL 

正如你可以看到它是第二次播放不是第一個是NULL的erID。選擇第二個例如WHERE t.PlayerID IS NULL

相關問題