Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Inkonsistenzsuche über mehrere Tabellen

Begonnen von ernie55, Januar 23, 2018, 18:34:26

⏪ vorheriges - nächstes ⏩

ernie55

Sorry, ich getraue mich kaum eine so banale Frage zu stellen habe aber nirgends einen entsprechenden Thread gefunden.

Tabelle: T_Adressen Index: Adr_ID
Tabelle: T_Bestellungen, Verknüpfung zu T_Adressen: Adr_ID
Tabelle: T_Lieferungen, Verknüpfung zu T_Adressen: Adr_ID
Tabelle: T_Rechnungen, Verknüpfung zu T_Adressen:Adr_ID
usw.

Ziel:
Eine SQL Abfrage die für jeden Datensatz in T_Adressen anzeigt ob und wenn ja wie viele verknüpfte Einträge in T_Bestellungen und T_Lieferungen und T_Rechnungen usw. enthalten sind.

Grüsse aus dem sonnigen Appenzellerland


markusxy

Im Prinzip sind es drei Unterabfragen, die jeweils die Ergenisse pro Tabelle liefern.
In etwa so - frei geschrieben - daher ungeprüft.

Select A.Adr_id, B.AnzBestellungen, L.AnzLiefieferungen, R.AnzRechnungen
    FROM ((T_Adressen A
    LEFT JOIN (Select Adr_ID, Count(*) AS AnzBestellungen FROM T_Bestellungen Group By Adr_ID) B ON A.Adr_ID = B.Adr_ID)
    LEFT JOIN (Select Adr_ID, Count(*) AS AnzLiefieferungen FROM T_Lieferungen Group By Adr_ID) L ON A.Adr_ID = L.Adr_ID)
    LEFT JOIN (Select Adr_ID, Count(*) AS AnzRechnungen FROM T_Rechnungen Group By Adr_ID) R ON A.Adr_ID = R.Adr_ID

ernie55

Grüezi mitenand

Herzlichen Dank
funktioniert prima.