whirly
Goto Top

Problem bei MYSQL Abfrage - Abfrage1 minus Abfrage2 wenn Abfrage2 gleich NULL

Liebe Community.

Seit neuem habe ich erkannt wie ich die immer schon gewollten Auswertungen aus unserem Warenwirtschaftsprogramm erhalte. Mit SQL-Abfragen. Nach vielem Ausprobieren und learning by doing habe ich viel erreicht. Dachte ich. Nun zu meinem Problem:

SELECT(
(SELECT SUM(`ENDPRN`)
FROM `mand5`.`sg_auf_fschrift`
WHERE (`ERFART` = '04RE')  
AND `DATUM` LIKE '2009-08%'  
GROUP BY `ERFART`
)
-
(
SELECT SUM(`ENDPRN`)
FROM `mand5`.`sg_auf_fschrift`
WHERE (`ERFART` = '05GU')  
AND `DATUM` LIKE '2009-08%'  
GROUP BY `ERFART`
)
)

Die Tabelle sg_auf_fschrift enthält alle Vorgänge unseres Unternehmens (Lieferscheine, Rechnungen, Angebote, Gutschriften.
Und ich brauche eine Abfrage mit unserem Monatsumsatz (Summe Rechnungen minus Summe Gutschriften)

Meine Abfrage macht folgendes:

Ergebnis = Abfrage1-Abfrage2

Abfrage1: Summe aus allen Umsätzen von einem Monat und Rechnungen
Abfrage2: Summe aus allen Umsätzen von einem Monat und Gutschriften

Nun habe ich ein Problem wenn es in einem Monat keine Gutschriften gibt. Dann ist das Ergebnis der Abfrage 2 = NULL und somit ist das Gesamtergebnis gleich NULL.
Hat jemand eine Ahnung was ich tun muss dass das nicht passiert?

Vielen Dank im Voraus.

schöne Grüße
Whirly

Content-Key: 126369

Url: https://administrator.de/contentid/126369

Printed on: April 19, 2024 at 16:04 o'clock

Member: filippg
filippg Oct 03, 2009 at 14:09:49 (UTC)
Goto Top
Hallo,

IFNULL() sollte dir weiterhelfen: http://dev.mysql.com/doc/refman/5.1/de/control-flow-functions.html
Darin einfach die zweite Abfrage einpacken und 0 als Alternativwert eingeben.

Gruß

Filipp
Member: Whirly
Whirly Oct 03, 2009 at 14:30:45 (UTC)
Goto Top
Hallo Filipp

Vielen Dank für die schelle Lösung.
Genau das habe ich gesucht.

schöne Grüße
Whirly