![]() |
SQL (SUM)
Gruß
Gruß ...ich habe folgendes Problem mit meiner Abfrage. Das Ergebnis ist immer '' !keine Fehlermeldung!.
Code:
ich muß dazusagen ,daß entweder die Felder (Zeit und Lohn) "ODER !" (Preis und Anzahl) einen Wert enthalten.
SELECT SUM((RE.ZEIT * LO.LOHN) + (RE.Preis * RE.Anzahl)) AS Kosten
FROM tbl_Rechnung RE INNER JOIN tbl_Lohn LO ON RE.SID_LOHN = LO.ID WHERE RE.SID_Rechnung_NR =:ID 2 Query's zu nutzen um einmal die "SUM(RE.ZEIT * LO.LOHN) zu ermitteln und in der zweiten SUM(Preis * Anzahl) und dann die beiden Ergebnisse zu addieren funktioniert...kann aber doch nicht die Lösung sein. Um eine Rechnung handelt es sich in der ich einmal Arbeitsleistung und einmal Material habe, halt die Summe davon. ------------------- ich habe mal schnell ne Datenbank(ADS)zusammengeschoben und getestet ob die leeren('')Felder schuld sind. in den Felder wo garnichts drin steht ,füge ich in meiner Testdatenbank eine 0 ein, der Rest wie gehabt. Ergebnis ist immer ''nichts/garnichts. Teile ich die Abfrage auf 2 Query's auf, und add. die beiden Ergebnisse klappt alles. Query1.
Code:
Query2.SELECT SUM(RE.ZEIT * LO.LOHN) AS Kosten FROM tbl_Rechnung RE INNER JOIN tbl_Lohn LO ON RE.SID_LOHN = LO.ID WHERE RE.SID_Rechnung_NR =:ID
Code:
Wo ich das Problem vermute,: in der ersten Abfrage definiere ich einen Join, da der Wert 'Lohn' sich in einer
SELECT SUM(RE.Preis * RE.Anzahl) AS Kosten
FROM tbl_Rechnung RE WHERE RE.SID_Rechnung_NR =:ID anderen Tabelle befindet. Helft mir bitte wie ich beide Abfragen in eine Query unter-bekomme. HILFE :?: MfG...Klaus |
Re: SQL (SUM)
Die Klammersetzung war einfach nur falsch.
So soll es funktionieren, außer wenn eine der beiden SUMmen NULL ist. NULL+Irgendwas = NULL !!!
SQL-Code:
SELECT SUM(RE.ZEIT * LO.LOHN) + SUM(RE.Preis * RE.Anzahl) AS Kosten
FROM tbl_Rechnung RE INNER JOIN tbl_Lohn LO ON RE.SID_LOHN = LO.ID WHERE RE.SID_Rechnung_NR =:ID Mit was für einer Datenbank arbeitest du ? |
Re: SQL (SUM)
Moin,
an der Klammersetzung liegt es glaub ich nicht. Aber wenn ein Wert NULL ist, ist das Ergebnis auch NULL. In Access gibt es glaub ich die Funktion Nz(Ausdruck). Der konvertiert den NULL-Wert. Aber irgendwie macht die Tabellenstruktur keinen Sinn. Für was soll die Abfrage dienen? Für den Rechnungsausdruck? Warum gibt es für die verschiedenen Kosten einzelne Felder? Hasse |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:39 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-2025 by Thomas Breitkreuz