如何获取依赖于id对的值

时间:2015-11-12 20:57:18

标签: mysql

我有两个表是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.

但我不知道怎么做。 感谢您提前寻求帮助。

4 个答案:

答案 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找到第二个名字。

SQL Fiddle

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