whirly

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
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 126369

Url: https://administrator.de/forum/problem-bei-mysql-abfrage-abfrage1-minus-abfrage2-wenn-abfrage2-gleich-null-126369.html

Ausgedruckt am: 25.05.2025 um 16:05 Uhr

filippg
filippg 03.10.2009 um 16:09:49 Uhr
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
Whirly
Whirly 03.10.2009 um 16:30:45 Uhr
Goto Top
Hallo Filipp

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

schöne Grüße
Whirly