Verknüpfung unterschiedlicher Tabellen
Hallo und guten Tag
Mein Problem sind 2 Tabellen, die nur teilweise gleiche Felder haben, aber denoch zusammen gehören.
Es existiert eine Spezifikation für das Produkt, aber es wurden zusätzliche Prüfungen gemacht, die nun auch auf die Ausgabe sollen.
Etwa so sieht mein Problem aus
T_Spez
Prüfpunkt: / Sollwert / Definition
Prod_Nr: / 12
Länge : / 1 m / 512
Breite : / 5 m / 513
T_Resultat
Prüfpunkt / Ergebnis / Definition
Prod_ Nr: / 12
Länge: / 1.2 m / 512
Breite: / 5 m / 513
Höhe: / 7 m
Farbe : / blau
Fertig: / Ja
Bei den probierten Abfragen erscheinen jeweils nur, (zu den andern Prüfpunkten in der Messung gibt es keine Angabe in der Spezifikation)
Prüfpunkt Ergebnis Sollwert Definition
Prod_Nr : / 12 / 12
Länge: / 1.2 / 1 m / 512
Breite: / 5 / 5 m / 513
Das Ergebnis soll aber so aussehen:
Prüfpunkt / Ergebnis / Sollwert /Definition
Prod_Nr : / 12 / 12
Länge: / 1.2 / 1 m / 512
Breite: / 5 / 5 m / 513
Höhe: / 7 / Keine Angabe /(leer)
Farbe : / blau / k.A /(leer)
Fertig: / Ja / (leer) / (leer)
Keine Angabe, k.A oder leer sind gleichwertige Varianten
Select *
From T_Spez s
T_Resultat t
Where s.Prod_Nr = :Prod_Nr
and s.Prod_Nr = t.Prod_Nr
and s.Definition = t.Definition
T_Spez
Prüfpunkt: / Sollwert / Definition
Prod_Nr: / 12
Länge : / 1 m / 512
Breite : / 5 m / 513
T_Resultat
Prüfpunkt / Ergebnis / Definition
Prod_ Nr: / 12
Länge: / 1.2 m / 512
Breite: / 5 m / 513
Höhe: / 7 m
Farbe : / blau
Fertig: / Ja
Bei den probierten Abfragen erscheinen jeweils nur, (zu den andern Prüfpunkten in der Messung gibt es keine Angabe in der Spezifikation)
Prüfpunkt Ergebnis Sollwert Definition
Prod_Nr : / 12 / 12
Länge: / 1.2 / 1 m / 512
Breite: / 5 / 5 m / 513
Das Ergebnis soll aber so aussehen:
Prüfpunkt / Ergebnis / Sollwert /Definition
Prod_Nr : / 12 / 12
Länge: / 1.2 / 1 m / 512
Breite: / 5 / 5 m / 513
Höhe: / 7 / Keine Angabe /(leer)
Farbe : / blau / k.A /(leer)
Fertig: / Ja / (leer) / (leer)
Keine Angabe, k.A oder leer sind gleichwertige Varianten
Select *
From T_Spez s
T_Resultat t
Where s.Prod_Nr = :Prod_Nr
and s.Prod_Nr = t.Prod_Nr
and s.Definition = t.Definition
Please also mark the comments that contributed to the solution of the article
Content-Key: 110165
Url: https://administrator.de/contentid/110165
Printed on: April 23, 2024 at 10:04 o'clock
9 Comments
Latest comment
Select s.*, t.*
From
T_Spez s LEFT JOIN T_Resultat t ON (
s.Prod_Nr = t.Prod_Nr AND (
(
( s.Definition IS NULL OR s.Definition IN ('leer', 'k.A.')) AND
( t.Definition IS NULL) OR t.Definition IN ('leer', 'k.A.'))
) OR
s.Definition = t.Definition
)
.. allerdings habe ich dein Tabellen Aufbau nicht so ganz verstanden. (was sind die Spalten Bezeichnungen und was der Inhalt)
...
FROM
tabelle t
LEFT JOIN tabelle2 t2 ON ( ... )
LEFT JOIN tabelle3 t3 ON ( ... )
... ,
noch_eine_tabelle net
...
.. das kann man doch ewig fortsetzen.
(formatier mal bissel Formatting instructions in the posts )