Hallo,
folgende Situation. Ich habe zwei Tabellen:
Tabelle1
KundenNr | Umsatz | Jahr
--------------------------------
01 | 100 | 2007
02 | 300 | 2008
02 | 200 | 2007
01 | 150 | 2008
* | * | *
Tabelle2
KundenNr | Rechnung | Rechnungsdatum
-------------------------
01 | 20 | 20.01.2007
01 | 30 | 31.11.2008
02 | 10 | 03.07.2007
01 | 50 | 15.08.2008
02 | 100 | 12.09.2007
* | * | *
Als Ergebnis einer Prozedur in IBExpert, soll folgendes erscheinen:
Die Kundennummer mit dem Umsatz eines bestimmten Jahres aus der Tabelle1 und die Anzahl der Rechnungen die der Kunde in diesem Jahr gestellt hat.
Beispielsweise für das Jahr 2007 -> Eingabeparameter: Jahr = 2007
KundenNr | UmsatzImJahr | AnzahlDerRechnungen
01 | 100 | 2
02 | 200 | 3
Versucht habe ich es mit einer Abfrage in der Form:
So läuft es nicht. Wie und wo muss ich den Subselect einbauen?
Danke
folgende Situation. Ich habe zwei Tabellen:
Tabelle1
KundenNr | Umsatz | Jahr
--------------------------------
01 | 100 | 2007
02 | 300 | 2008
02 | 200 | 2007
01 | 150 | 2008
* | * | *
Tabelle2
KundenNr | Rechnung | Rechnungsdatum
-------------------------
01 | 20 | 20.01.2007
01 | 30 | 31.11.2008
02 | 10 | 03.07.2007
01 | 50 | 15.08.2008
02 | 100 | 12.09.2007
* | * | *
Als Ergebnis einer Prozedur in IBExpert, soll folgendes erscheinen:
Die Kundennummer mit dem Umsatz eines bestimmten Jahres aus der Tabelle1 und die Anzahl der Rechnungen die der Kunde in diesem Jahr gestellt hat.
Beispielsweise für das Jahr 2007 -> Eingabeparameter: Jahr = 2007
KundenNr | UmsatzImJahr | AnzahlDerRechnungen
01 | 100 | 2
02 | 200 | 3
Versucht habe ich es mit einer Abfrage in der Form:
Code:
begin for select KundenNr, Umsatz (select count(KundenNr) from Tabelle2 where Tabelle1.KundenNr = Tabelle2.KundenNr and EXTRACT(YEAR FROM Rechnungdatum) = :Jahr) as AnzahlDerRechnungen from Tabelle1 where Jahr = :Jahr order by umsatz into :KundenNr, :UmsatzImJahr do suspend; end
Danke
Comment