![]() |
SQL-Anweisung von BDE nach Firebird
Hallo zusammen,
ich habe ein Problem mit folgender SQL - Anweisung :
SQL-Code:
Jedesmal, wenn ich die Ausführen will, kommt im IBExpert die Meldung :
SELECT Monat,
SUM(UM1) AS UMS1, (100 * SUM((UM1 / 100) * WE1)) / SUM(UM1) AS WES1, SUM(UM2) AS UMS2, (100 * SUM((UM2 / 100) * WE2)) / SUM(UM2) AS WES2, SUM(UM3) AS UMS3, (100 * SUM((UM3 / 100) * WE3)) / SUM(UM3) AS WES3, SUM(UM4) AS UMS4, (100 * SUM((UM4 / 100) * WE4)) / SUM(UM4) AS WES4 FROM Umsatze U WHERE EXISTS ( SELECT StammNr FROM Produkte P WHERE (P.ProduktNr = U.ProduktNr) AND (P.StammNr = :StammNr)) GROUP BY Monat; Zitat:
|
Re: SQL-Anweisung von BDE nach Firebird
Welche Typen haben die Felder?
|
Re: SQL-Anweisung von BDE nach Firebird
StammNr, ProduktNr, Monat = Integer
UM1, WE1, UM2, WE2, UM3, WE3, UM4, WE4 = float Edit: Die Tabelle Produkte ist mit ProduktNr mit der Tabelle Umsatze verbunden |
Re: SQL-Anweisung von BDE nach Firebird
Irgendwie scheint hier ein Bereichsüberlauf stattzufinden.
Ändere die Typen mal auf Double Precision. Kommt ein Ergebnis, oder überhaupt nichts? |
Re: SQL-Anweisung von BDE nach Firebird
Es kommt kein Ergebnis. Ich habe mittlerweile herausgefunden, dass wenn ich die Zeilen mit WESx rauslasse funktioniert die Abfrage. Laut dieser
![]() |
Re: SQL-Anweisung von BDE nach Firebird
Frage vorher ab ob der Divisor 0 ist
SQL-Code:
... iif( SUM(UM1) is null, 0, 100 * SUM((UM1 / 100) * WE1)) / SUM(UM1)) AS WES1, ...
|
Re: SQL-Anweisung von BDE nach Firebird
Bekomme ich immer noch den gleichen Fehler.
|
Re: SQL-Anweisung von BDE nach Firebird
SQL-Code:
Gibt es NULL-Werte in der Spalte?
... iif( SUM(UM1) is null or SUM(UM1) = 0, 0, 100 * SUM((UM1 / 100) * WE1)) / SUM(UM1)) AS WES1, ...
|
DP-Maintenance
Dieses Thema wurde von "mkinzler" von "Programmieren allgemein" nach "Datenbanken" verschoben.
Es geht um Datenbanken |
Re: SQL-Anweisung von BDE nach Firebird
Null-Werte keine. Wenn dann nur die Zahl 0. Danke für Deine Hilfe. Habe ebengrade Deine iif-Abfragee von is null auf gleich null geändert und jetzt funktioniert es. Danke.
|
Re: SQL-Anweisung von BDE nach Firebird
Sicher? Rechne doch mal nach, ob die Werte auch stimmen können. Wenn '... is null' durch '... = null' ersetzt wird, dann hab ich noch was im Hinterkopf, daß Letzteres immer false liefert.
Grüße, Uli |
Re: SQL-Anweisung von BDE nach Firebird
Zitat:
das war ein Tippfehler von mir. :wall: Ich habe natürlich '... is null' durch '... = 0' ersetzt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz