我有两个表,scoreTable和用户。我试图在scoreTable上按哈希分组,但选择具有该哈希的所有用户名。 scoreTable只有ids
SELECT st.score,
GROUP_CONCAT(st.uid) as userList
FROM scoreTable st
GROUP BY hash
对于上述查询,我在userList中获取用户ID列表:'1,2,3,4'
我希望得到的是实际的“名称”而不是ids - 名字在另一张桌子上(用户)
SELECT st.score,
(SELECT group_concat(d.name) from users d d where d.uid = st.uid))
FROM scoreTable st
GROUP BY hash
但由于某种原因,这只显示一个用户(具有第一个ID的用户)。
答案 0 :(得分:2)
只需加入users
表:
SELECT st.score, group_concat(d.name)
FROM scoreTable st
JOIN users d ON d.uid = st.uid
GROUP BY hash