2013-04-25 91 views
0

問候,並感謝您看我的question.I'm站在作爲一個小白在這裏:)我有3個表=>加入多個表與條件

First_Table 
First_Table_id |content 
---------- 
1 |aaa 
2 |bbb 
3 |ccc 
4 |ddd 

Second_Table 
Second_Table_id |First_Table_id 
---------- 
1 |1 
2 |2 
3 |3 
4 |4 

Third_Table 
Third_Table_id |First_Table_id 
---------- 
1 |1 
2 |2 
3 |3 

我的問題是,我需要證明從First_Table =>那漫天的ID內容Second_Table => First_Table_id但Third_Table =未填寫> First_Table_id.I've想試試這個=>

SELECT * FROM First_Table 
LEFT JOIN Second_Table ON Second_Table.First_Table_id = First_Table.id 
LEFT JOIN Third_Table ON Third_Table_id WHERE Third_Table.First_Table_id != First_Table.id 

但該查詢給我nothing.Is有另一種方式解決我的問題?謝謝:)

回答

0

使用子選擇:

SELECT * FROM First_Table 
JOIN Second_Table ON First_Table.id = Second_Table.First_Table_id 
WHERE First_Table.id NOT IN (SELECT Third_Table.First_Table_id FROM Third_Table) 

PS:我用JOIN代替LEFT JOIN因爲你說你從它出現在Second_Table

+0

爲什麼外國鍵First_Table想要的內容?爲了效率? – Strawberry 2013-04-25 23:38:08

+0

@Vapire這實際上是我最近3天前尋找的傢伙:)非常感謝您的幫助,並非常感謝:) – user2136356 2013-04-25 23:42:25

+0

歡迎!然後,你應該將答案標記爲接受... – Vapire 2013-04-25 23:45:05