我有两个表是MYSQL:用户和关系。
关系表如下:
(1,2)
(2,3)
(1,4)
etc.
用户表看起来像
(1, john)
(2, damian)
(3, amy)
(4, emily)
etc.
我想创建一个查询,它会返回一对名字,而不是一对id' s:
(john, damian)
(damian, amy)
(john, emily)
etc.
但我不知道怎么做。 感谢您提前寻求帮助。
答案 0 :(得分:2)
select (select userName from users where users.id = relations.id1),
(select id from users where users.id = relations.id2) from relations;
这个模型应该有效
答案 1 :(得分:0)
SELECT `left`.name, `right`.name
FROM relations
LEFT JOIN users `left`
ON relations.left_user_id = `left`.id
LEFT JOIN users `right`
ON relations.right_user_id = `right`.id
答案 2 :(得分:0)
首先使用Users
加入Relations
找到名字,然后再加Users
找到第二个名字。
SELECT aa.name, cc.name
FROM Users AS aa
INNER JOIN Relations AS bb
ON aa.id = bb.user_1
INNER JOIN Users AS cc
ON cc.id = bb.user_2
ORDER BY aa.id;
答案 3 :(得分:0)
SELECT user1.name, user2.name
FROM relations
INNER JOIN users AS user1
ON relations.id1 = user1.id
INNER JOIN users user2
ON relations.id2 = user2.id