[英]Join Two Columns With One Table MySQL
我正在創建一個PHP待辦事項列表,並在MySQL數據庫中有一個“ admin_todo”表,每個待辦事項都有一個“ created_by”和“ completed_by”列,其中包含單獨表“ admin_users”中用戶的ID。
我需要一個查詢,該查詢將允許我將'created_by'和'completed_by'列與'admin_users'表中的'username'列鏈接,以便可以回顯創建了Todo且具有完成了待辦事項。 看起來這很容易,但是我找不到查詢來正確執行此操作。
我嘗試使用工會:
SELECT admin_todo.*, admin_users.username AS creator
FROM admin_todo
LEFT JOIN admin_users ON admin_todo.created_by = admin_users.id
UNION ALL
SELECT admin_todo.*, admin_users.username AS completer
FROM admin_todo
LEFT JOIN admin_users ON admin_todo.completed_by = admin_users.id
但是,a,它會兩次返回所有待辦事項條目,第一次是在“創建者”列下使用待辦事項創建者的用戶名。 第二次使用待辦事項完成者的用戶名,但在“創建者”列下還使用ALSO。
嘗試這個:
SELECT admin_todo.*, au.username AS creator, au2.username AS completer
FROM admin_todo
LEFT JOIN admin_users AS au
ON admin_todo.created_by = au.id
LEFT JOIN admin_users AS au2
ON admin_todo.completed_by = au2.id
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.