Databases Reference
In-Depth Information
18.2■Identiizierung von Null-, Teil- und
Vollretouren mit CASE WHEN
Wir identiizieren die Null-, Teil- und Vollretouren mit CASE WHEN , einer Funktion, die Sie
bereits kennen. Die dahinterstehende Logik ist in diesem Fall ganz einfach. Ist der Eintrag
in der Ergebnisspalte Anzahl_R_Artikel NULL , gibt es keine Retouren. Es handelt sich um
eine so genannte Nullretoure. Ist die Anzahl der retournierten Artikel gleich der Anzahl der
bestellten Artikel, wurden alle Artikel retourniert. Man spricht dann von einer Vollretoure.
Alle anderen Fälle sind Teilretouren.
CASE when Anzahl_R_Artikel is null THEN 'Keine'
when Anzahl_Artikel - Anzahl_R_Artikel = 0 then 'Voll'
ELSE 'Teil' END
Die Basis der Auswertung ist der Select, den Sie eben erstellt haben.
Select Bestellungen, Anzahl_Artikel, Anzahl_R_Artikel,
CASE when Anzahl_R_Artikel is null THEN 'Keine'
when Anzahl_Artikel - Anzahl_R_Artikel = 0 then 'Voll'
ELSE 'Teil'END Retoure
from
((SELECT s.orderNo Bestellungen,
Cast(sum([Quantity])as DECIMAL(10,0)) Anzahl_Artikel
FROM [dbo].[iw_sales]s
where s.[Type] = 2
group by s.orderNo)as ord
FULL OUTER JOIN
(SELECT rh.orderNo Retoure,
Cast(sum(rl.[quantity])as DECIMAL(10,0)) Anzahl_R_Artikel
FROM [dbo].[iw_return_header]rh,[dbo].[iw_return_line]rl
where rh.returnNo = rl.returnNo
and rl.type = 2
group by rh.orderNo) as ret
on ord.Bestellungen = ret.Retoure)
Nun haben Sie jede einzelne Bestellung identiiziert und klassiiziert. In der Ergebnisspalte
„Retoure“ inden Sie die Einteilung nach Null-, Teil- oder Vollretouren (Bild 18.2 auf der
nächsten Seite).
 
Search WWH ::




Custom Search