我有一个表 - friends
它有2列,都是users
表id
的。MySQL在查询的1个结果行中选择更多的数据
我有一个表 - users
其中有id
和username
。
我需要一个查询,将从朋友表中返回username1
,username2
而不是id
的。
我试过连接两个表,但它返回2个结果行而不是一个,这不是我想要的。
我试图调查多选择查询,但我没有发现任何特别有用的东西,是否有可能这样做?
我有一个表 - friends
它有2列,都是users
表id
的。MySQL在查询的1个结果行中选择更多的数据
我有一个表 - users
其中有id
和username
。
我需要一个查询,将从朋友表中返回username1
,username2
而不是id
的。
我试过连接两个表,但它返回2个结果行而不是一个,这不是我想要的。
我试图调查多选择查询,但我没有发现任何特别有用的东西,是否有可能这样做?
左加入users
表两次,一次为每个用户:
SELECT
u1.username username1,
u2.username username2
FROM friends f
LEFT JOIN users u1
ON f.first_id = u1.id
LEFT JOIN users u2
ON f.second_id = u2.id
凡first_id
和second_id
在你friends
表中的ID列。
你可以用2内做到这一点联接:
SELECT
User1.Name user1_name,
User2.Name user2_name
FROM
friends
INNER JOIN users User1 ON friends.User1_ID = User1.ID
INNER JOIN users User2 ON friends.User2_ID = User2.ID
请更清楚地显示你的表的结构,我们无法理解你的架构和你想 – 2014-10-18 17:18:02
你的意思产生的用户名是什么ID结束?它不清楚。 – 2014-10-18 17:20:26
表:用户; int:id,text:username; 表格:朋友; int:id,int:id; – Mikiku 2014-10-18 17:20:52