2012-09-08 65 views
0

所以我有兩個表。一個與股票信息和一個與用戶選擇信息。我試圖查詢我的數據庫,並從這個查詢中得到一組結果,其中股票信息的結果中省略了用戶選擇表上的信息。MySQL加入非條件查詢仍然包含不期望的結果

然而,在試圖推出這個查詢並改進它時,我已經從一個到多個結果進行了裁剪,比應該有更多的結果,現在到了正確的結果,但它仍然給我一個剛剛做的平等經常簡單的選擇沒有條件。包括我不想出現的結果。從這個查詢中,我應該有這個測試的所有結果,但是這兩個結果仍然顯示。我認爲我在這個查詢的正確軌道上,但在某處我失去了一些東西。

有人可以向我解釋我是如何做到這一點錯誤的?

select distinct 
stock.teamType, 
stock.teamName, 
stock.leagueType 
from teamNames stock 
left join teams user on stock.teamName not in (user.teamName) 
where user.membID = 20 and stock.leagueType = 'nfl' 
+0

您可以發佈樣本輸入和預期的輸出? –

+1

嘗試使用'LEFT JOIN teams users user stock.teamName!= user.teamName'替換'(join.teamName不在(user.teamName)''中的'left join team users'。 – tftd

+0

p.s.你的問題描述很糟糕。這很難理解你的目標是什麼。 – tftd

回答

1

嘗試

select distinct stock.teamType, stock.teamName, stock.leagueType 
from teamNames stock 
left join teams on stock.teamname = teams.teamname 
and teams.membid = 20 
where teams.teamname is null 
and leaguetype = 'nfl' 
+0

忘記了'是空'的概念。好的電話,這正是我想要的。 – chris