Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL Rechnungsproblem (https://www.delphipraxis.net/79285-sql-rechnungsproblem.html)

Hansa 20. Okt 2006 00:56

Re: SQL Rechnungsproblem
 
Liste der Anhänge anzeigen (Anzahl: 1)
Stop, es ist noch etwas komplizierter, als gedacht. Sum etc. summiert z.B. nur die NOT NULL Felder. Das habe ich gemeint. Da muß man eventuell aber eingreifen. Was ich eigentlich meinte war aber, daß die IF usw. Geschichten, wobei ein Feld NULL ist das Ganze über den Haufen schmeißen, sofern NULL-Felder ins Spiel kommen.

Zitat:

In aggregate functions only non-NULL fields are involved in the computation. Exception: COUNT(*).
Das geht aber noch viel weiter. Am Null-Guide führt deshalb IMHO kein Weg mehr vorbei. Da steht alles genau drin.

manfred_h 20. Okt 2006 08:22

Re: SQL Rechnungsproblem
 
Guten Morgen

vielen Dank für Eure Bemühungen :thumb:
werde das alles anschauen.

Shalom
Manfred

jensw_2000 20. Okt 2006 09:19

Re: SQL Rechnungsproblem
 
Gibt es in Firebird keine ISNULL Funktion ?

ISNULL ersetzt bei folgendem Aufruf alle NULL Werte durch 0

SQL-Code:
SELECT SUM(ISNULL(IN_COUNT,0)) AS Summe
FROM BIBEL_ART_D
WHERE (( ID_ART = :ID) AND ( I_O = 1));

manfred_h 20. Okt 2006 10:52

Re: SQL Rechnungsproblem
 
Danke nun läufts.

konnte das ganze so lösen.

Delphi-Quellcode:
  DM_bibeladmin.Art_value.close;
  DM_bibeladmin.Art_value.SelectSQL.Clear;
  DM_bibeladmin.Art_value.SelectSQL.Add('SELECT SUM(IN_COUNT) as summe FROM BIBEL_ART_D WHERE '+
                                          '(( ID_ART = :ID) AND ( I_O = 1))');
  DM_bibeladmin.Art_value.Active := True;
    if DM_bibeladmin.Art_value.FieldByName('Summe').IsNull
     then i := 0
     else i := strtoInt (DM_bibeladmin.Art_value.FieldByName('Summe').Value) ;
  //
  //
  DM_bibeladmin.Art_value.close;
  DM_bibeladmin.Art_value.SelectSQL.Clear;
  DM_bibeladmin.Art_value.SelectSQL.Add('SELECT SUM(OUT_COUNT) as summe FROM BIBEL_ART_D WHERE '+
                                          '(( ID_ART = :ID) AND ( I_O = 0))');
  DM_bibeladmin.Art_value.Active := True;
    if DM_bibeladmin.Art_value.FieldByName('Summe').IsNull
     then o := 0
     else o := strtoInt (DM_bibeladmin.Art_value.FieldByName('Summe').Value) ;
  //
  //
  c := i - o;
  DM_bibeladmin.Bibel_Art.Edit;
  DM_bibeladmin.Bibel_Art.FieldByName('STOCK').Value := c ;
  DM_bibeladmin.Bibel_Art.CommitUpdToCach;
end;
Shalom
Manfred


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:00 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz