SQL Abfrage über mehrere Tabellen

Jobybär

Neuer Benutzer
Beiträge
1
Hallo allerseits,

bin neu hier und bei SQL Abfragen.
Muß eine Abfrage über 4 Tabellen machen.
Tabellen siehe Bild.
Bekomme aber nicht die richtige Verknüpfung und JOIN hin.
Es soll je id_product 2 Spalten ausgegeben werden.
Jede Spalte stellt eine Eigenschaft dar.
Die Eigenschaft Farbe hat die id_feature =9
Die Eigenschaft Material hat die id_feature =10

Produkt ID | Farbe.| Material
...........1001 | rot.......| Resin
...........1002 | grün...| Metal

Hab es mit verschiedenen IF schreibweisen versucht.
IF (ps.id_feature =9, ps_feture_value_lang.value) As 'Farbe',
IF (ps.id_feature =10, ps_feture_value_lang.value ) As 'Material',

Bei der LEFT JOIN und der WHERE Anweisung beisst es onehin aus.

Für Hilfe wäre ich äußerst Dankbar.

Gruß
Joachim
 

Anhänge

  • Shopdb.png
    Shopdb.png
    31,2 KB · Aufrufe: 6
Werbung:
Um es mal vereinfacht auszudrücken, Du hast:

Code:
test=*# select * from produkt_feature;
 produkt | feature_id | feature_value
---------+------------+---------------
  1 |  9 | rot
  1 |  10 | Resin
  2 |  9 | grün
  2 |  10 | Metal
(4 rows)

und suchst:

Code:
test=*# select produkt, string_agg(case when feature_id = 9 then feature_value else null end,',') as farbe, string_agg(case when feature_id = 10 then feature_value else null end,',') as material from produkt_feature group by produkt;
 produkt | farbe | material
---------+-------+----------
  1 | rot  | Resin
  2 | grün  | Metal
(2 rows)

Ist jetzt mit PostgreSQL gemacht. kann MySQL irgendwie aber wohl auch, nur andere Syntax.
 
Zurück
Oben