我正在嘗試與另一個表(用戶)加入表(任務)。我需要基於任務表中的值從用戶表中選擇不同的行:從單個JOIN中的同一個表中選擇不同的用戶
tasks(user1, user2, user3);
users(id, name, email);
使用LEFT以前我有聯繫的數據JOIN像這樣:
SELECT * FROM tasks LEFT JOIN users ON tasks.user1 = users.id;
那是非常簡單的,所以我
SELECT * FROM tasks LEFT JOIN users ON tasks.user1 = users.id AND tasks.user2 = users.id;
但返回用戶領域爲NULL,這是有道理的tasks.user1是不同的,以tasks.user2
:使用AND像這樣試過我對現在如何做到這一點非常難過,所有的建議歡迎!
很大,這將返回我需要的數據。我現在有一個問題,列標題覆蓋返回的數組中的數據(我正在使用PHP PDO),有沒有一種方法可以創建查詢以將每個用戶作爲一個數組返回給tasks.user *值? (如果需要的話,我可以把它放到一個新的SO問題中) –
@MikeOram我會發佈一個新問題 - 我基於mysql/sql標籤來到這裏 - 聽起來你需要一個php pdo guru。您可以將列別稱爲SELECT tasks.col1,...,u1.id AS User1ID,u1.name作爲User1Name,.. u2.id作爲User2ID,u2.Name作爲User2Name ...'如果這有幫助嗎? – StuartLC
好的,我確定我會發佈一個新問題,感謝您的幫助! –