H-P Ortner: Frage zu einem Access Bericht

Beitrag lesen

Hallo Mulder!

Wenn jemand das gleiche Problem für Oracle löst, wäre ich daran auch sehr interessiert. :-)

Ich hab zwar schon mit

SELECT DECODE(firma,'Huber',umsatz,'') Huber,
DECODE(firma,'Mayr',umsatz,'') Mayr, ...

probiert, aber das liefert immer noch drei Zeilen der Form

Huber Mayr Müller
5000 ---- ----
----  2000 -----
---- ---- 7000

Wenn die Spalten fixiert sind, sollte etwas in der Form funktionieren:

SELECT count(*) AS Dummy,
  (SELECT sum(wert) from Umsatz where name="Müller") AS Müller,
  (select sum(wert) from Umsatz where name="Huber") AS Huber,
  (SELECT sum(wert) from Umsatz where name="Mayr") AS Mayr,
  (SELECT sum(wert) from Umsatz) AS Gesamt
FROM Umsatz;

Wenn die Spalten erst zur Laufzeit bekannt werden, sollte die Abfrage dynamisch entstehen.
Für den Bericht - denke ich - kommt man um eine zusätzliche Programmierung dann nicht mehr herum.

In Access funktioniert die Lösung Deines Problems mit einer Kreuztabellenabfrage:

TRANSFORM Sum(Wert) AS X
SELECT null AS Dummy, Sum(Wert) AS Gesamt
FROM Umsatz
GROUP BY null
PIVOT Name;

Ich bin überzeugt, dass es da in Oracle mindestens gleichwertige Lösungen gibt.

Viele Grüße

H-P Ortner