我有一個具有以下結構的支付表。需要mysql查詢幫助
**Payments**
id
name
created_by - user_id
closed_by - user_id
**Users**
user_id
name
surname
什麼是顯示創建並關閉付款文件的用戶名和姓的最佳方式。
我能想到這可能會使用兩個子查詢工作的唯一方法(CREATED_BY,closed_by場)感謝
我有一個具有以下結構的支付表。需要mysql查詢幫助
**Payments**
id
name
created_by - user_id
closed_by - user_id
**Users**
user_id
name
surname
什麼是顯示創建並關閉付款文件的用戶名和姓的最佳方式。
我能想到這可能會使用兩個子查詢工作的唯一方法(CREATED_BY,closed_by場)感謝
試試這個:
SELECT p.id, p.name,
CONCAT (u1.name,' ', u1.surname) created,
CONCAT (u2.name,' ', u2.surname) closed,
FROM payments p INNER JOIN users u1
ON p.created_by = u1.user_id
INNER JOIN users u2
ON p.closed_by = u2.user_id
編輯:如果你想要的名稱和姓分裂
SELECT p.id, p.name,
u1.name created_name, u1.surname created_surname,
u2.name closed_name, u2.surname closed_surname,
FROM payments p INNER JOIN users u1
ON p.created_by = u1.user_id
INNER JOIN users u2
ON p.closed_by = u2.user_id
您可以多次連接到單個表,但必須使用別名。
select
p.*,cr.*,cl.*
from
payments p
join users cr
on p.created_by = cr.user_id
join users cl
on p.closed_by = cl.user_id
您可以使用JOIN。 – 2011-05-03 06:52:43
JOIN怎麼樣? – Ruben 2011-05-03 06:52:52
你能給我一個'JOIN'的例子嗎? – Contra 2011-05-03 06:58:07