यदि आपके पास निश्चित संख्या में कॉलम हैं, तो आप एक सरणी का उपयोग कर सकते हैं:
select studentnr, name, gradenumber,
languages[1] as language_1,
languages[2] as language_2,
languages[3] as language_3,
languages[4] as language_4,
languages[5] as language_5
FROM (
SELECT s.studentnumber as studentnr,
p.firstname AS name,
sl.gradenumber as gradenumber,
array_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
) t
ध्यान दें कि distinct
जब आप group by
. का उपयोग करते हैं तो आमतौर पर इसकी आवश्यकता नहीं होती है