在基于另一个表的选择中创建动态列名

时间:2019-09-27 08:12:26

标签: mysql sql subquery

我正在研究“构建器”,可以在其中添加元素来构建测验。

元素表示测验中的一个区块(文本,问题,视频等)。每个元素都可以链接到具有该考试位置的多个考试。创建元素时,在我的表单中,我可以选择多个考试(从exam表中),并为每个考试输入一个职位(以数字表示)。

我希望能够在表格(前端)中列出所有元素,并为每个考试名称列名称,并在每个考试名称下方列出我在表格中输入的位置。

我实际上已经写了这个查询:

SELECT 
e.id AS element_id, 
e.name AS element_name, 
ee.position, 
se.title AS exam_title
FROM element e
LEFT JOIN element_exams ee
ON e.id = ee.element_id
LEFT JOIN subject_exam se ON se.id = ee.exam_id
GROUP BY e.id

哪个给出此结果:

enter image description here

但是,我想代替“ exam_title”作为列名,而实际上要在位置(1.12)下使用“仅AQA”。而且,对于“考试”表中的每项考试,因此,举例来说,如果我有3项考试(仅AQA,2考试,3考试),我希望得到一个表格结果:

element_id | element_name | AQA Only | Exam 2 | Exam 3

在每个考试名称下方,是我在表格中输入的职位。

有可能吗?基本上,我想使用基于另一个表的值的动态列名进行选择查询。

谢谢!

0 个答案:

没有答案