我有一张像 EMPDetails 这样的表
EmpID EmpName EmpFriendsID
1 Hari 2,3
2 Ramesh
3 Suresh
如果我提供 EmpID,我想查询以检索 EmpFriends 名称。
例如,如果提供 EmpID 1,则结果应为
1 Hari 2,3 Ramesh,Suresh
谢谢。
我有一张像 EMPDetails 这样的表
EmpID EmpName EmpFriendsID
1 Hari 2,3
2 Ramesh
3 Suresh
如果我提供 EmpID,我想查询以检索 EmpFriends 名称。
例如,如果提供 EmpID 1,则结果应为
1 Hari 2,3 Ramesh,Suresh
谢谢。
要加入表,请使用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)
使用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