我正在編寫一個高級MySQL查詢,用於搜索數據庫並檢索用戶信息。我想知道的是,如果滿足WHERE條件1,可以選擇某些字段,如果符合WHERE條件2,可以選擇其他字段?根據某些WHERE條件選擇某些字段
數據庫:用戶
------------------------
| user_id | first_name |
------------------------
| 1 | John |
------------------------
| 2 | Chris |
------------------------
| 3 | Sam |
------------------------
| 4 | Megan |
------------------------
數據庫:友誼
--------------------------------------
| user_id_one | user_id_two | status |
--------------------------------------
| 2 | 4 | 0 |
--------------------------------------
| 4 | 1 | 1 |
--------------------------------------
Status 0 = Unconfirmed
Status 1 = Confirmed
OK,你可以看到約翰&梅根被確認的好友,而克里斯&梅根是朋友,但關係是未經證實的。
我試圖寫的查詢如下:Megan(4)搜索新朋友我希望所有的用戶,除了她是一個確認的朋友與將返回。所以,結果應該返回2,3。但由於與user_id 2的關係存在但未被確認,所以我也想返回狀態,因爲友情表中的條目確實存在於兩者之間。如果用戶存在但關係表中沒有連接,它仍會返回該用戶的信息,但返回狀態爲NULL或根本不返回狀態,因爲它不存在於該表中。
我希望這樣做以來。如果您需要,請提出問題。
感謝託比!像魅力一樣工作。我必須結合一個左外連接和一個WHERE子句才能獲得我的最終結果。 – ATLChris 2010-12-14 14:22:12