请考虑以下事项:
**Table 1 - record**
id (int primary key),
addedby (int),
editedby (int)
**Table 2 - users**
id (int primary),
name (shorttext)
**Sample Records**
record
0 1 1
1 1 2
users
1 user1
2 user2
我需要的是联接以便能够显示以下内容:
record.id, users.addedby, users.editedby
我尝试了以下内容:
select record.id, users.name, users.name from record left join users on record.addedby=users.id left join users on record.editedby=users.id
然而,这种方法不合乎逻辑,所以我有点卡住了。
非常感谢任何帮助。谢谢。
答案 0 :(得分:2)
只需加入同一张桌子两次。没什么不寻常的。您只需对表进行别名即可独立引用它们。
select r.id, u1.name added, u2.name editor
from record r
inner join user u1
on r.addedby = u1.id
inner join user u2
on r.editedby = u2.id
答案 1 :(得分:1)
使用别名:
select record.id, users1.name, users2.name
from record
left join users users1 on record.addedby=users1.id
left join users users2 on record.editedby=users2.id