Sql stringfeld berechnen join über mehrere Tabllen

Hallo :smile: ich habe ein Problem (bin leider noch nicht so gut in sql)

ich habe drei Tabellen
eine Tabelle Auswertung in der die Primärschlüssel
enthalten sind

WS_OP WS_UP ID
1 2 1
2 1 2

eine Tabelle Werkstoffe
mit den Werkstoffbezeichnungen und der Polymergruppe

WS_ID POLY_ID BEZEICHNUNG
1 1 Delrin
2 2 S-Schwarz

Und eine Tabelle Polymer mit der Bezeichnung
POLY_ID Bezeichnung
1 POM
2 PA

In der Auswertungstabelle würde ich jetzt gern ein Berechnetes Feld OP_UP_POLY der Polymerpaarung haben (anhand der angegebenen Werkstoffe) in der Form:

WS_OP WS_UP OP_UP_POLY
1 2 POM-PA
2 1 PA-POM

aber ich bekomm das irgendwie mit den ganzen joins nicht hin :frowning: (achso, ich nehme sqlite3, falls das für den sqltext wichtig ist :smile:)

Texte zu Fremdschlüsseln besorgen
Moin, Erik,

der Tabellenentwurf erschließt sich mir nicht so ganz, ich habe mich deshalb auf das Nötigste beschränkt, um das Prinzip zu zeigen:

**Werkstoff** (<u>Werkstoff</u>, Bezeichnung, FS\_P1, FS\_P2)
**Polymer** (<u>Polymer</u>, Bezeichnung)

Dazu eine Query:

 SELECT Werkstoff.Bezeichnung, 
 P1.Bezeichnung AS P1\_Name, 
 P2.Bezeichnung AS P2\_Name
 FROM Polymer AS p1, Polymer AS p2, Werkstoff
 WHERE p1.Polymer=Werkstoff.p1 
 And p2.Polymer=Werkstoff.p2

Gruß Ralf

ungetestet

SELECT Auswertung.WS\_OP,Auswertung.WS\_UP,GROUP\_CONCAT(Polymer.Bezeichnung ) AS OP\_UP\_POLY 
 FROM Auswertung
 JOIN Werkstoffe 
 ON Auswertung.WS\_OP = Werkstoffe.WS\_ID OR Auswertung.WS\_UP = Werkstoffe.WS\_ID
 JOIN Polymer 
 ON Werkstoffe.POLY\_ID = Polymer.POLY\_ID 
 WHERE Auswertung.WS\_OP = Werkstoffe.WS\_ID OR Auswertung.WS\_UP = Werkstoffe.WS\_ID
 GROUP BY Auswertung.ID

Holle Werkstoff OP UP mit namen Bezeichnung und für WS_OP und WS OP und gruppiere das nach Auswertungs ID
Group_Concat packt dann alles in ein Feld (achtung stringlängenbegrenzung beachten)

ob das so richtig ist und ob das in sqlite geht, keine Ahnung .

Aber vielleicht hilft es ja !

fehlerteufelchen

Bezeichnung und für WS_OP und WS OP … mehr auf http://w-w-w.ms/a45yir

soll natürlich sein

Bezeichnung und für WS_OP und WS_UP… mehr auf http://w-w-w.ms/a45yir