1
我在查詢中有一個簡單的連接,但是我需要在這兩個表上有一個條件「confirm ='yes'」,但是如果其中一個表沒有任何匹配查詢返回沒有行。MySQL和一個連接中的每個表的替代方案
數據庫:
.----------parties----------.
| id - party_id - confirmed |
|---------------------------|
| 1 1 yes |
| 1 2 no |
| 1 3 no |
+---------------------------+
.-----------events----------.
| id - event_id - confirmed |
|---------------------------|
| 1 1 no |
+---------------------------+
或
.----------parties----------.
| id - party_id - confirmed |
|---------------------------|
| 1 1 no |
| 1 2 no |
| 1 3 no |
+---------------------------+
.-----------events----------.
| id - event_id - confirmed |
|---------------------------|
| 1 1 yes |
+---------------------------+
查詢:
SELECT p.party_id, e.event_id
FROM parties p
LEFT JOIN events e
ON p.id=e.id
WHERE p.id = '1'
AND p.party_id IN (1,2,3)
AND e.event_id IN (1)
AND p.confirmed='yes'
AND e.confirmed='yes'
它返回什麼,但我希望它有一個空的事項標識或事項標識和一個空返回party_id 1 party_id。我希望這是有道理的,我不會錯過任何東西,謝謝你的幫助!
編輯加反向數據庫的代碼,我需要返回事項標識和空party_id
感謝您的回答,它的工作原理,但它有沒有辦法讓它工作在反向? I.E.所有當事方確認=否,並確認事件=是 – Scott 2010-05-18 10:21:18
@Scott:請使用示例數據集和所需輸出更新您的問題。 – Quassnoi 2010-05-18 10:25:15
我將其添加到問題中,感謝您的幫助! – Scott 2010-05-18 10:31:55