我無法圍繞SQL查詢包裝我的頭,試圖找出一些東西。SQL聯盟或其他表加入
只是很快,這是我的(簡單)表格: 這是在社交網站中添加好友的表示形式。 我必須使用這樣的表格格式,user1和user2都是主鍵。
User1 | User2
--------------------------------------
[email protected] | [email protected]
[email protected] | [email protected]
[email protected]| [email protected]
[email protected] | [email protected]
[email protected] | [email protected]
我需要做的是寫一個SELECT語句將返回所有的朋友[email protected]例如唯一用戶。
SELECT User2
FROM members
WHERE User1 = '[email protected]'
會返回[email protected]而不是[email protected],即使我需要它返回後者。
SELECT *
FROM members
WHERE User1 = '[email protected]'
OR User2 = '[email protected]'
會返回一個錯誤,我想?可能會選擇多列。
所以我想要一個聯合加入或其他聯接是必要的(聯合所以沒有重複?),但我真的不知道如何去做。
我試圖在PHP中實現這一點,所以即使我寫的最後一個查詢工作,我不知道如何回聲User1或User2取決於它返回/我需要哪一個,如果這是有道理的。
您對2列進行檢查的SQL應該沒問題(根據數據可能不是唯一的朋友除外)。雖然可能你可以將它分成2個查詢,每列一個,聯合在一起,但出於性能方面的原因(爲了能夠使用索引) – Kickstart 2013-05-14 09:05:20