我想從表中從兩個關係表SQL - 「合併」 3代表與JOIN
結構取決於選擇的用戶:
[user]
uid | firstname | lastname | ...
---------------------------------
482 | USERa | USERa | ...
885 | USERb | USERb | ...
405 | USERc | USERc | ...
385 | USERd | USERd | ...
[news_info]
uid_local | uid_foreign
--------------------------------
125 | 482
100 | 405
[news_add]
uid_local | uid_foreign
--------------------------------
125 | 885
105 | 385
現在我想選擇只能通過uid_local用戶A和用戶B - > 125,從[news_info]和[news_add]
SELECT
nnfo.uid_local,
user.*
FROM user
JOIN news_info nnfo
ON nnfo.uid_foreign = user.uid
WHERE nnfo.uid_local = 125
結果= USERA //工作
SELECT
nadd.uid_local,
user.*
FROM user
JOIN news_add nadd
ON nadd.uid_foreign = user.uid
WHERE nadd.uid_local = 125
結果= USERB //工作
現在 「合併」 的SQL語句轉換成一個......讓a和UserB
SELECT
nnfo.uid_local,
nadd.uid_local,
user.*
FROM user
JOIN news_info nnfo
ON nnfo.uid_foreign = user.uid
JOIN news_add nadd
ON nadd.uid_foreign = user.uid
WHERE nnfo.uid_local = 125 AND nadd.uid_local = 125
結果=空//沒有錯誤.....
什麼是錯的...我tryed其他一些聲明,但沒有結果:(
您的答案和davek的答案是什麼邏輯差異? –
我不認爲有任何,除了聯盟所有的事情 – Sebas
謝謝davek和塞巴斯...與聯盟只有不聯盟所有我得到我的結果沒有重複,如你所說:) – Jim