Итак, у меня есть вопрос для крепких сердцем!У меня была проблема с этой концепцией некоторое время, и мне нужно ее очистить ... Следующий код показывает студентов, у которых более одного языка
SELECT DISTINCT s.studentnumber as studentnr,
p.firstname AS name,
sl.gradenumber as gradenumber,
string_agg(DISTINCT l.text, ', ') as languages
FROM student s
JOIN pupil p ON p.id = s.pupilid
JOIN pupillanguage pl on pl.pupilid = p.id
JOIN language l on l.id = pl.languageid
JOIN schoollevel sl ON sl.id = p.schoollevelid
GROUP BY s.studentnumber,
p.firstname
Результат
Теперь мой вопрос прост, но я не уверен, каким будет ответ ... Я хочу разделить эти языки и поместить их в отдельные полятак что это выглядит примерно так
Требуемый результат
Существует также 1 серьезная проблема,Это использует Postgresql 9.3 , который теперь не позволяет группировать наборы, свертки или кубы.Однако я попробовал этот код, и он не работает должным образом, я не уверен, как с ним работать, и я не уверен, как идти дальше об этом ...
(select distinct l.text
from language
join pupillanguage pl2 on pl2.languageid = language.id
join pupil on p.id = pl2.personid
limit 1) as language1
Так выглядят таблицыкак
Language Table
iD PK
shorttext char varying
text char varying
PupilLanguage Table
id PK
languageid FK
personid FK
displayorder int