Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.297 Beiträge
 
Delphi 12 Athens
 
#1

SQL: Update mit Select und IF/CASE in der Bedingung

  Alt 8. Jun 2020, 07:43
Datenbank: MSSQL • Version: 2012 • Zugriff über: FireDac
Moin...

Ich glaube ich muß mir helfen lassen...

Was soll passieren:
Eine Spalte in ADR (Tabelle) soll mit der Summe aus den BEL (Tabelle) geupdatet werden. So weit so gut.
Code:
update
  ADR
set
  Value = (select SUM(B.Brutto) as Summe from BEL B
             where
               (B.Art = 'BLUBB' or B.Art = 'BLA') and
                B.Adr = ADR.Adr
Erklärung:
ADR.Adr -> nie leer!
B.Adr -> kann leer sein. In diesem Falle wäre das Kriterium B.KDNR.

Problem:
Die "leeren" Datensätze werden nicht im Update berücksichtigt.

Versuch mit IF (falsch, zeigt aber was ich denke...andere Bedingung):
Code:
update
  ADR
set
  Value = (select SUM(B.Brutto) as Summe from BEL B
             where
               (B.Art = 'BLUBB' or B.Art = 'BLA') and
                IF (B.Adr > '')
                  B.Adr = ADR.Adr
                ELSE
                  B.KDNR = ADR.Adr
Ich habe schon mit CASE experimentiert...ohne Erfolg

Danke für Infos...

PS:
Ich hasse solche Verrenkungen...

Geändert von haentschman ( 8. Jun 2020 um 08:02 Uhr)
  Mit Zitat antworten Zitat