簡體   English   中英

用一個表MySQL連接兩列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM