Einzelnen Beitrag anzeigen

Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#1

[Firebird]Daten aus zwei Tabellen zählen

  Alt 12. Mai 2004, 07:36
Hallo SQL-Experten,

ich habe zwei einfache Tabellen T1 und T2, die nur je 3 Felder haben:

KNR - INTEGER
LFD - INTEGER
WOCHE - VARCHAR(10)

Beide haben dieselbe Struktur. Für jeden Kunden (KNR) kann es beliebig viele Einträge in beide Tabellen geben. Diese möchte ich jetzt für eine bestimmte Woche zählen. Dazu habe ich folgendes SQL Statement geschrieben:

SQL-Code:
SELECT KNR, COUNT(KNR) as ANZ, 'K1as VON FROM tab1
WHERE WOCHE='20/04'
GROUP BY KNR
UNION
SELECT KNR, COUNT(KNR) as ANZ, 'K2as VON FROM tab2
WHERE WOCHE='20/04'
GROUP BY KNR
Das funktioniert auch, aber ich möchte das Ergebnis gerne in folgender Form:

Code:
KNR  ANZ_IN_T1    ANZ_IN_T2
============================
1        2             3
2        0             2
3        4             0
Bekommt jemand das mit einem SQL Statement hin?

Ich habe es schon mit folgendem Statemet versucht:
SQL-Code:
SELECT T1.KNR, COUNT(T1.KNR), COUNT(T2.KNR) as ANZ FROM tab1 T1
FULL OUTER JOIN tab2 T2 ON T1.KNR=T2.KNR
WHERE T1.WOCHE='20/04AND T2.WOCHE='20/04'
GROUP BY T1.KNR
aber obwohl ich einen FULL OUTER JOIN habe, erscheint nur der Kunde, der in beiden Tabellen vorkommt.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat