我的付款表格具有以下结构。
**Payments**
id
name
created_by - user_id
closed_by - user_id
**Users**
user_id
name
surname
显示已创建和关闭付款文件的用户的姓名和姓氏的最佳方式是什么。
我认为这可行的唯一方法是使用子查询(created_by,closed_by字段)谢谢
答案 0 :(得分:3)
试试这个:
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
答案 1 :(得分:1)
严格加入不,我认为你可以在where子句中使用连接
select name, surname
from
payments p, users u
where
u.user_id = p.created_by
and u.user_id = p.closed_by
答案 2 :(得分:0)
您可以多次加入单个表,但必须使用别名。
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