2

我有一张像 EMPDetails 这样的表

EmpID EmpName EmpFriendsID
1     Hari    2,3
2     Ramesh 
3     Suresh 

如果我提供 EmpID,我想查询以检索 EmpFriends 名称。

例如,如果提供 EmpID 1,则结果应为

1     Hari    2,3     Ramesh,Suresh

谢谢。

4

2 回答 2

2

要加入表,请使用FIND_IN_SET(),然后对记录进行分组,并使用GROUP_CONCAT()连接朋友姓名

SELECT t.EmpID,t.EmpName,t.EmpFriendsID,
       GROUP_CONCAT(t1.EmpName)
FROM t
LEFT JOIN t as T1 on FIND_IN_SET(t1.EmpID,t.EmpFriendsID)
WHERE t.EmpID=1
GROUP BY (t.EmpID)

SQLFiddle demo

于 2013-12-27T07:35:08.757 回答
0

使用FIND_IN_SET()函数

尝试这个:

SELECT E1.EmpID, E1.EmpName, GROUP_CONCAT(E2.EmpFriendsID)
FROM EMPDetails E1
LEFT JOIN EMPDetails E2 ON FIND_IN_SET(E2.EmpID, E1.EmpFriendsID)
GROUP BY E1.EmpID
于 2013-12-27T07:33:03.930 回答