Einzelnen Beitrag anzeigen

Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.737 Beiträge
 
Delphi 6 Enterprise
 
#3

AW: Verschachtelte SQL Abfrage

  Alt 8. Nov 2017, 11:18
So ginge es in Oracle, kenne nicht das Decode-Equivalent für Firebird:

SQL-Code:
Select
  Sum(decode(Art,'S',Soll,0)) as Soll,
  Sum(decode(Art,'H',Soll,0)) as Haben
From
(

select 'Sas Art, sum(BETRAG_S) as Soll
     from tbl_buchhaltung where (Jahr = :Jahr) and (Monat = :Monat)
     and Kontonummer = :Konto
     and ((Kontonummer <> 9000) and (Gegenkontonummer <> 9000))
     union
select 'Has Art, SUM(BETRAG_H) as Haben
     from tbl_buchhaltung where (Jahr = :Jahr) and (Monat = :Monat)
     and Gegenkontonummer = :Konto
     and ((Kontonummer <> 9000) and (Gegenkontonummer <> 9000))

)
Edit:
Wegen dem Parameter :Konto vermute ich mal, dass Statement wird in einem Programm ausgeführt. Dann würde ich vllt. dort die 9000 ausschließen und die Bedingung ((Kontonummer <> 9000) and (Gegenkontonummer <> 9000)) weglassen.
Ralph

Geändert von Jumpy ( 8. Nov 2017 um 11:24 Uhr)
  Mit Zitat antworten Zitat