【发布时间】:2016-04-02 07:20:40
【问题描述】:
我有 4 张桌子,如下所示。
表:类
ClassID | ClassSTD
--------------------------------
1 | STD-1<br>
2 | STD-2
表格:部分
SectionId | SectionName | ClassId
--------------------------------------------
1 | sec-A | 1
2 | sec-B | 1
3 | sec-C | 1
4 | sec-A | 2
5 | sec-B | 2
6 | sec-C | 2
表格:主题
subjectId | subjectName
------------------------------------
1 | Art
2 | Music
3 | Play
表SubjectAllocationToClass
classId | sectionID | subjectId | type
-----------------------------------------------------------------------
1(STD-1) | 1(sec-A) | 1(Art) | main
1(STD-1) | 2(sec-B) | 1(Art) | main
1(STD-1) | 3(sec-C) | 1(Art) | optional
1(STD-1) | 1(sec-A) | 2(Music) | main
1(STD-1) | 2(sec-B) | 2(Music) | optional
上表“SubjectAllocationToClass”显示了两种类型的主题(主要和可选)到班级部分的分布。 如何从 SELECT 语句中获得以下结果?
classSTD | sectionName | Main subjectName | Optional subjectName
-----------------------------------------------------------------------------
STD-1 | sec-A | Art, Music |
STD-1 | sec-B | Art | Music
STD-1 | sec-C | | Art
【问题讨论】:
-
是的,这是可能的,它被称为
GROUP_CONCATagg 函数。问题是到目前为止您尝试了什么?
标签: mysql sql select group-by group-concat