test=*# select * from grundstuecke ;
id | ort | strasse | nr
----+------------+-------------+----
1 | Musterdorf | Musterstrae | 1
(1 Zeile)
test=*# select * from mieter;
id | g_id | variable | value
----+------+-----------+--------
66 | 1 | Variable1 | Value1
77 | 1 | Variable2 | Value2
(2 Zeilen)
test=*# select g.id, g.ort, g.strasse, g.nr, string_agg(m.value,',') filter (where m.variable='Variable1') as "Variable1", string_agg(m.value,',') filter (where m.variable='Variable2') as "Variable2" from grundstuecke g left join mieter m on g.id=m.g_id group by g.id, g.ort, g.strasse, g.nr;
id | ort | strasse | nr | Variable1 | Variable2
----+------------+-------------+----+-----------+-----------
1 | Musterdorf | Musterstrae | 1 | Value1 | Value2
(1 Zeile)