【发布时间】:2011-06-16 16:52:14
【问题描述】:
以这个例子为例:
一张人的表 [id, name]。
一张颜色表 [id, colour]。
一张关联表。 (哪些人喜欢哪些颜色)[id,person_id,colour_id]。
我想选择所有具有 id 和 name 的人,以及用逗号和空格分隔的每个喜欢的颜色名称的列:“,”。 一个人喜欢的颜色不止一种。
查询应该是什么样子?
谢谢。
【问题讨论】:
标签: mysql one-to-many
以这个例子为例:
一张人的表 [id, name]。
一张颜色表 [id, colour]。
一张关联表。 (哪些人喜欢哪些颜色)[id,person_id,colour_id]。
我想选择所有具有 id 和 name 的人,以及用逗号和空格分隔的每个喜欢的颜色名称的列:“,”。 一个人喜欢的颜色不止一种。
查询应该是什么样子?
谢谢。
【问题讨论】:
标签: mysql one-to-many
我做得好吗?
SELECT person.id, person.name, GROUP_CONCAT(colour.colour SEPARATOR ', ')
FROM person
JOIN associations ON associations.person_id = person.id
JOIN colours ON colours.id = associations.colour_id
GROUP BY person.id
【讨论】: