hi!
Sieht zwar ähnlich aus, kann aber nicht funktionieren, du
filterst hier lediglich Zeilen aus, wenn Transaktionen leer
ist, bleibt auch das Ergebnis leer.
irrtum: ich „filtere“ zwar die tabelle, jedoch sind die monate („1“,„2“, etc.) hardcodierte werte, die auf jeden fall eine zeile als ergebnis liefern, da aus der transaktionstabelle nur die summe (= aggregatsfunktion (?)) berechnet und kein enzelner wert herausgeholt wird
grüße,
tomh
ps: ich hab’s jetzt sogar ausprobiert (sql+ unter oracle)
SQL\> select \* from transaktion;
MONAT ZAHL
---------- ----------
1 2
3 1
5 10
SQL\> get afiedt.buf
1 select 1,nvl(sum(zahl),0)
2 from transaktion
3 where monat = 1
4 union
5 select 2,nvl(sum(zahl),0)
6 from transaktion
7 where monat = 2
8 union
9 select 3,nvl(sum(zahl),0)
10 from transaktion
11 where monat = 3
12 union
13 select 4,nvl(sum(zahl),0)
14 from transaktion
15 where monat = 4
16 union
17 select 5,nvl(sum(zahl),0)
18 from transaktion
19 where monat = 5
20 union
21 select 6,nvl(sum(zahl),0)
22 from transaktion
23 where monat = 6
24 union
25 select 7,nvl(sum(zahl),0)
26 from transaktion
27 where monat = 7
28 union
29 select 8,nvl(sum(zahl),0)
30 from transaktion
31 where monat = 8
32 union
33 select 9,nvl(sum(zahl),0)
34 from transaktion
35 where monat = 9
36 union
37 select 10,nvl(sum(zahl),0)
38 from transaktion
39 where monat = 10
40 union
41 select 11,nvl(sum(zahl),0)
42 from transaktion
43 where monat = 11
44 union
45 select 12,nvl(sum(zahl),0)
46 from transaktion
47\* where monat = 12
SQL\> /
1 NVL(SUM(ZAHL),0)
---------- ----------------
1 2
2 0
3 1
4 0
5 10
6 0
7 0
8 0
9 0
10 0
11 0
12 0
12 Zeilen ausgewählt.
SQL\>