我有一个具有以下结构的支付表。需要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