Hilfe für einen Anfänger select Befehl

larspohle

Neuer Benutzer
Beiträge
2
Hallo ich bin Datenbank Anfänger und scheitere an folgenden Problem( siehe PDF)

Wie müsste der Select- Befehl aussehen

Danke im Vorraus

Lars
 

Anhänge

  • test.pdf
    163,1 KB · Aufrufe: 8
Werbung:
ich hab kein MySQL, folgendes wird nicht 1:1 da funktionieren, sollte sich aber anpassen lassen:

Code:
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)

Falls Dir das Anpassen zu anstrengend ist verwende halt gleich PostgreSQL. Ist eh besser ;-)
 
Danke für die Antwort.

leider finde ich keine Lösung in meiner MariaDB für folgenden aus der oben genannten Syntax.

string_agg(m.value,',') filter (where m.variable='Variable1') as "Variable1", string_agg(m.value,',') filter (where m.variable='Variable2') as "Variable2"

Grüsse Lars
 
Werbung:
für string_agg gibt es eine andere Aggregatsfunktion, das filter (where ...) kann man als case when ... umschreiben. Die Syntax findest Du in der Doku.
 
Zurück
Oben