【发布时间】:2012-06-12 22:42:47
【问题描述】:
我有三张桌子:
users: sports: user_sports:
id | name id | name id_user | id_sport | pref
---+-------- ---+------------ --------+----------+------
1 | Peter 1 | Tennis 1 | 1 | 0
2 | Alice 2 | Football 1 | 2 | 1
3 | Bob 3 | Basketball 2 | 3 | 0
3 | 1 | 2
3 | 3 | 1
3 | 2 | 0
表格user_sports 链接users 和sports,并按优先顺序(pref)。
我需要做一个返回这个的查询:
id | name | sport_ids | sport_names
---+-------+-----------+----------------------------
1 | Peter | 1,2 | Tennis,Football
2 | Alice | 3 | Basketball
3 | Bob | 2,3,1 | Football,Basketball,Tennis
我尝试过使用JOIN 和GROUP_CONCAT,但结果很奇怪。
我需要进行嵌套查询吗?
有什么想法吗?
【问题讨论】:
-
您能否发布您的 group_concat 例程不起作用?这似乎正是您所需要的(请参阅此页面:stackoverflow.com/questions/276927/…),因此查看查询以确定它是如何出错的可能会有所帮助。
标签: mysql sql join group-concat