选择选项数组作为select语句的一部分

时间:2014-12-15 12:54:28

标签: mysql sql select join group-concat

我有这两张桌子:

选项

id, name, created_at, ...

选项表有很多子选项

子选项

option_id, name, created_at, ....

我想知道,当OPTION被分组时,是否可以通过使用join(或其他任何东西?)来检索SubOptions作为OPTIONS上的查询选择的一部分。

例如:

Select * 
from Options 
JOIN SubOptions ON Options.id = SubOptions.option_id 
GROUP BY Options.name

现在我知道我可以访问SubOptions.name了,但有没有办法访问SubOptions的所有 option_id option_id等于{{1}} ?

1 个答案:

答案 0 :(得分:1)

使用GROUP_CONCAT()功能将子选项名称分组

试试这个:

SELECT O.name, GROUP_CONCAT(SO.name) subOptionName
FROM Options O 
LEFT JOIN SubOptions SO ON O.id = SO.option_id 
GROUP BY O.name;