1
基本上我使用LEFT JOIN表來獲取屬於PERSON的INVOICE記錄。有條件的INNER JOIN返回非預期的結果
快速查看錶格及相關記錄。
table INVOICES table GIGS table BIDS table PEOPLE
---------------- ---------------- ----------------------- ----------------
id | gig_id id | bid_id id | gig_id | person_id id
---------------- ---------------- ----------------------- ----------------
1 | 1 1 | 1 1 | 1 | 1 1
2 | 2 2 | 1 | 2 2
和我的連接查詢......
SELECT invoices.* FROM invoices
INNER JOIN gigs ON gigs.id = invoices.gig_id
INNER JOIN bids ON bids.gig_id = gigs.id
INNER JOIN people ON people.id = bids.person_id
WHERE people.id = 2
GROUP BY invoices.id
,並返回結果...
INVOICE RESULT
--------------
id
--------------
1
事實是,people.id=2
不有任何發票但上面的連接查詢返回結果,就像它們一樣。如果一個人沒有任何發票,我如何確保它回覆空?
對此的任何提示非常感謝!
恐怕你已經到簡體這個問題不存在。您現在的查詢無法運行,因爲出價加入會引用出價沒有的字段。團隊也不應該在那裏。 – HLGEM 2012-04-16 14:15:47
@HLGEM,謝謝你對我錯誤的理解。我忘了在表格出價中加入「gig_id」列。 – chadwtaylor 2012-04-16 15:38:20