Oracle PL-SQL Positive und negative Werte in einer Spalte berechnen
Hallo Community,
ich bin noch Neuling in Bezug auf Oracle-Datenbanken und dem Arbeiten mit SQL-Abfragen.
Ich sitze hier vor einem Problem was ich bei einer Abfrage habe.
Vielleicht könnt Ihr mir weiterhelfen.
Bei einer Abfrage muß ich eine Spalte summieren und deren Gesamtwert ausgeben. Diese Tabelle beinhaltet aber
positive und negative Beträge (z.B. 800 bzw. -1500) die gegengerechnet werden müssen.
Bei einem normalen SELECT SUM (Spalte) FROM Tabelle wirft er mir aber 0 als Gesamtwert aus. Bei einer Spalte
mit nur positiven Beträgen funktioniert das auch. Darum vermute ich, dass es eben an den Negativbeträgen liegt.
Wie müsste ich das Skript aufbauen, damit er die positiven und negativen Werte in dieser Spalte gegenrechnet.
Im Moment sieht das Skript aus:
SELECT SUM (Spalte)
FROM Tabelle
WHERE period = '0' as WERT
Vielen Dank für Eure Hilfe.
Gruß
Tom
ich bin noch Neuling in Bezug auf Oracle-Datenbanken und dem Arbeiten mit SQL-Abfragen.
Ich sitze hier vor einem Problem was ich bei einer Abfrage habe.
Vielleicht könnt Ihr mir weiterhelfen.
Bei einer Abfrage muß ich eine Spalte summieren und deren Gesamtwert ausgeben. Diese Tabelle beinhaltet aber
positive und negative Beträge (z.B. 800 bzw. -1500) die gegengerechnet werden müssen.
Bei einem normalen SELECT SUM (Spalte) FROM Tabelle wirft er mir aber 0 als Gesamtwert aus. Bei einer Spalte
mit nur positiven Beträgen funktioniert das auch. Darum vermute ich, dass es eben an den Negativbeträgen liegt.
Wie müsste ich das Skript aufbauen, damit er die positiven und negativen Werte in dieser Spalte gegenrechnet.
Im Moment sieht das Skript aus:
SELECT SUM (Spalte)
FROM Tabelle
WHERE period = '0' as WERT
Vielen Dank für Eure Hilfe.
Gruß
Tom
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 157177
Url: https://administrator.de/forum/oracle-pl-sql-positive-und-negative-werte-in-einer-spalte-berechnen-157177.html
Ausgedruckt am: 23.12.2024 um 06:12 Uhr
1 Kommentar
Ich verstehe dein Problem nicht ganz :
Beispiel :
SELECT a.zahl FROM test a
/
10
20
-8
SELECT sum(zahl) FROM test
/
22
- Oracle rechnet korrekt die Summe. Oder verstehe ich dich hier falsch ?
BTW : dein WHERE period = '0' as WERT ist so nicht korrekt, das "as Wert" muss hinter die zu summierende Spalte : SELECT sum(Zahl) as Wert ....
Gruss
Beispiel :
SELECT a.zahl FROM test a
/
10
20
-8
SELECT sum(zahl) FROM test
/
22
- Oracle rechnet korrekt die Summe. Oder verstehe ich dich hier falsch ?
BTW : dein WHERE period = '0' as WERT ist so nicht korrekt, das "as Wert" muss hinter die zu summierende Spalte : SELECT sum(Zahl) as Wert ....
Gruss