N zu M Tabelle so Joinen das alle Werte zu sehen sind
Hallo, ich bin echt am verzweifeln ich habe 3 Tabellen und möchte diese so verbinden das ich alle möglichen Datensatzkombinationen angezeigt bekomme egal ob in der N:M Tabelle beziehungen eingetragen sind. Könnt ihr mir helfen?
tab1:
- id
- bezeichnung
tab2 (n:m):
- tab1_id
- tab3_id
- status
tab3:
- id
- bezeichnung
tab1 inhalte:
1 - tab1wert1
2 - tab1wert2
3 - tab1wert3
tab2 inhalte:
1 - 1 - good
2 - 1 - bad
tab3 inhalte:
1 - tab3wert1
2 - tab3wert2
3 - tab3wert3
Ergebniss der Abfrage sollte dann wie folgt sein:
tab1_bezeichnung, tab2_bezeichnung, tab3_status
tab1wert1- tab3wert1 - good
tab1wert1- tab3wert2 - NULL
tab1wert1- tab3wert3 - NULL
tab1wert2- tab3wert1 - bad
tab1wert2- tab3wert2 - NULL
tab1wert2- tab3wert3 - NULL
tab1wert3- tab3wert1 - NULL
tab1wert3- tab3wert2 - NULL
tab1wert3- tab3wert3 - NULL
Ich hoffe das ich es verständlich erklären konnte.
Gruß mok
tab1:
- id
- bezeichnung
tab2 (n:m):
- tab1_id
- tab3_id
- status
tab3:
- id
- bezeichnung
tab1 inhalte:
1 - tab1wert1
2 - tab1wert2
3 - tab1wert3
tab2 inhalte:
1 - 1 - good
2 - 1 - bad
tab3 inhalte:
1 - tab3wert1
2 - tab3wert2
3 - tab3wert3
Ergebniss der Abfrage sollte dann wie folgt sein:
tab1_bezeichnung, tab2_bezeichnung, tab3_status
tab1wert1- tab3wert1 - good
tab1wert1- tab3wert2 - NULL
tab1wert1- tab3wert3 - NULL
tab1wert2- tab3wert1 - bad
tab1wert2- tab3wert2 - NULL
tab1wert2- tab3wert3 - NULL
tab1wert3- tab3wert1 - NULL
tab1wert3- tab3wert2 - NULL
tab1wert3- tab3wert3 - NULL
Ich hoffe das ich es verständlich erklären konnte.
Gruß mok
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 217269
Url: https://administrator.de/contentid/217269
Ausgedruckt am: 20.11.2024 um 17:11 Uhr
4 Kommentare
Neuester Kommentar
Moin moK,
das Statement sollte sinngemäß so aussehen:
Ausgabe:
Grüße
Biber
das Statement sollte sinngemäß so aussehen:
SELECT t1xt3.tab1bez , t1xt3.tab3bez , tab2.Status
FROM (
Select tab1.id as tab1_id, tab1.bezeichnung as tab1bez,
tab3.id as tab3_id, tab3.bezeichnung as tab3bez
from tab1, tab3) t1xt3
left join tab2 ON t1xt3.tab1_id = tab2.tab1_id and t1xt3.tab3_id = tab2.tab3_id
order by t1xt3.tab1_id, t1xt3.tab3_id ;
Ausgabe:
tab1bez tab3bez Status
tab1wert1 tab3wert1 good
tab1wert1 tab3wert2
tab1wert1 tab3wert3
tab1wert2 tab3wert1 bad
tab1wert2 tab3wert2
tab1wert2 tab3wert3
tab1wert3 tab3wert1
tab1wert3 tab3wert2
tab1wert3 tab3wert3
Grüße
Biber