![]() |
brauche dringend HILFE bei SQL-Abfrage
Hi,
ich hab folgendes Problem beim ausführen dieser Abfrage:
SQL-Code:
Wenn beide Abfrageobjekte(output & income) Ergebnisse haben bekomme ich beide Werte angezeigt. Wenn auch nur EINER dieser objekte KEIN Ergebnis
select distinct invoicepos.quantity as output,productbookingpos.quantity as income from invoicepos,productbookingpos
where invoicepos.quantity = (select sum(quantity)from invoicepos where prod_id = 5453) and productbookingpos.quantity = (select sum(quantity)from productbookingpos where prod_id = 5453) enthält bekomme ich überhaupt NICHTS angezeigt. Das heißt es gibt mir nur dann ein Ergebniss zurück wenn beide Abfrage-Objekte einen Wert enthalten. 1. Gibt es eine Möglichkeit in der Abfrage festzulegen das ein "0" beispielsweise genommen werden soll (für das entprechende Abfrage-Objekt) wenn kein Ergebnis für eines der Abfrage-Objekte vorliegt? 2. Ist es möglich während der Abfrage eine Differenz beider Werte zu bilden und dann als "Result" beispielsweise zurückzugeben? Bisher habe ich immer eine 2te Abfrage mit den gegebenen Werten gestartet um dies zu bewerkstelligen Für jede Antwort bin ich sehr dankbar mfg. R. |
DP-Maintenance
Dieses Thema wurde von "r_kerber" von "Programmieren allgemein" nach "Datenbanken" verschoben.
Da es um SQL-Statements geht gehört dieses Thema in das Forum Datenbanken. |
Re: brauche dringend HILFE bei SQL-Abfrage
Hallo polondo,
welche Datenbank? was spricht gegen ein OR?
SQL-Code:
MfG
SELECT DISTINCT invoicepos.quantity AS output,
productbookingpos.quantity AS income, ABS( COALESCE(invoicepos.quantity, 0) - COALESCE(productbookingpos.quantity, 0)) AS diff FROM invoicepos, productbookingpos WHERE invoicepos.quantity = (SELECT SUM(quantity) FROM invoicepos WHERE prod_id = 5453) OR productbookingpos.quantity = (SELECT SUM(quantity) FROM productbookingpos WHERE prod_id = 5453) Thorsten |
Re: brauche dringend HILFE bei SQL-Abfrage
danke für die antwort!
ich kannte garnicht den befehl des COALESCE. und das mit dem or scheint garnicht mal so schlecht zu sein. entweder er findet das eine oder das andere eben. da hast du schon recht. allerdings scheint die ganze befehfolge bei mir in eine art schleife zu geraten. aber ich danke dir trotzdem da ich dies nun als anstoss für weitere versuche nehmen kann! btw. ich arbeite mit msql-server 2000 mfg R. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:21 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