我有两张桌子:
Users:
------------------------------
id | name
--------------------------
1 | John
2 | Dane
3 | Foo
4 | Bar
Matches Table:
----------------------------
id | userid1 | userid2
----------------------------
1 | 1 | 3
2 | 2 | 4
问题: 从id为1的匹配表,我想在一个查询中获取John和Foo。我怎么能这样做?
我已经有了一个解决方案,但它很无聊。这是从匹配表中选择记录然后在循环时触发查询以获取名称。
答案 0 :(得分:4)
只需使用JOIN
...
SELECT u1.*, u2.*
FROM Matches m
JOIN Users u1 ON u1.id = m.userid1
JOIN Users u2 ON u2.id = m.userid2
WHERE m.id = [ YOUR DESIRED USER ID (for example: 1) ]
答案 1 :(得分:2)
SELECT name from Matches, Users where Matches.id = 1 AND (Users.id = Matches.userid1 OR Users.id = Matches.userid2)
这应该有用。