我有一个名为表maintable
3列:id
,userid1
和userid2
.
另一个名为users
keyed的表userid
,并name
作为列.
我想选择以下内容:
SELECT maintable.*, users.name AS username1, users.name AS username2
FROM maintable, users
WHERE ...
Run Code Online (Sandbox Code Playgroud)
基本上我想获得在所有列maintable
列,并在此将以此为名字的末尾加上两列userid1
,并userid2
从users
表.
我不确定如何为这样的查询格式化where子句.
Pab*_*ruz 17
您需要与用户加入两次:
SELECT m.*, u1.name, u2.name
FROM maintable m
INNER JOIN users u1 ON (m.userid1 = u1.userid)
INNER JOIN users u2 ON (m.userid2 = u2.userid)
Run Code Online (Sandbox Code Playgroud)
您可以在此处阅读有关MySQL JOIN语法的文档.
像这样的东西,
select m.*,
(select u1.name from users as u1 where m.userid1 = u1.userid) as username1,
(select u2.name from users as u2 where m.userid2 = u2.userid) as username2
from
maintable as m
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
21786 次 |
最近记录: |