Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   SQL was wenn NULL in SUMME? (https://www.delphipraxis.net/69659-sql-wenn-null-summe.html)

polondo 18. Mai 2006 09:37


SQL was wenn NULL in SUMME?
 
hallo,

ich habe da zwei views mit den spalten "input" und "output".
mit der nachfolgenden abfrage versuche ich die differenz dieser beiden spalten für jede prod_id herauszufinden.

SQL-Code:
select search_result_view.*,i.input - o.output as remaining from search_result_view
left join output_view o on search_result_view.prod_id = o.prod_id
left join input_view i on search_result_view.prod_id = i.prod_id
order by search_result_view.art_no
jedoch klappt die berechnung NUR für spalten bei denen die prod_id sowohl in der einen als auch in der anderen tabelle vorhanden ist.
wenn also in der einen view zu der prod_id = 1 eine zahl "2" steht und in der anderen diese prod_id nicht vorhanden ist .. bekomme ich kein ergebniss.
ich würde jedoch gerne zumindest die "2" wieder bekommen.

weiß einer rat?

mfg R.

marabu 18. Mai 2006 09:51

Re: SQL was wenn NULL in SUMME?
 
Hi.

Manches RDBMS kennt eine spezielle Funktion, die anstelle eines NULL-Wertes einen vorgegebenen Standardwert zurückgibt, so dass deine Berechnungen nicht fehlschlagen. Mit welchem RDBMS arbeitest du?

Grüße vom marabu

polondo 18. Mai 2006 09:53

Re: SQL was wenn NULL in SUMME?
 
ich arbeite mit msql-server 2000.

McLane 18. Mai 2006 09:55

Re: SQL was wenn NULL in SUMME?
 
die erwähnten Funktionen lauten:

MSSQL -> isnull(spaltenname, 0)
Oracle -> nvl(spaltenname, 0)

sollte also in spaltenname NULL drinstehen gibt die Funktion 0 zurück ansonsten den Wert in der Spalte.

Für MySQL u.a. weiß ich die Funktionsnamen leider nicht...

polondo 18. Mai 2006 10:00

Re: SQL was wenn NULL in SUMME?
 
wow jungs danke! das hat ja einwandfrei gefunzt! komm jetzt endlich wieder weiter :wink:


mfg R.

DP-Maintenance 18. Mai 2006 15:03

DP-Maintenance
 
Dieses Thema wurde von "sakura" von "Programmieren allgemein" nach "Datenbanken" verschoben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:52 Uhr.

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