Databases Reference
In-Depth Information
Dazu benötigen wir den Wert der eingegangenen Retouren pro Monat.
SELECT DATEPART (mm,rl.postingDate) Monat,
sum(rl.vat_line_amount)R_Bruttowert,
sum (rl.line_amount) R_Nettowert
FROM [dbo].[iw_return_line]rl
where rl.postingDate between '01.01.2011'and '30.06.2011'
and rl.[Type] = 2
group by DATEPART (mm,rl.postingDate)
Diese beiden Auswertungen müssen wir nun zusammenführen, indem wir die beiden Selek-
tionsergebnisse wie virtuelle Tabellen behandeln und miteinander per JOIN verknüpfen.
Select * from
(SELECT DATEPART (mm,s.postingDate)Monat,
sum(s.line_amount)Bruttowert,
sum (s.amount* s.quantity) Nettowert
FROM [dbo].[iw_sales]s
where s.[Type] = 2
and s.postingDate between '01.01.2011'and '30.06.2011'
group by DATEPART (mm,s.postingDate))b,
erste virtuelle Tabelle, Alias b für Bestellung
(SELECT DATEPART (mm,rl.postingDate) Monat,
sum(rl.vat_line_amount)R_Bruttowert,
sum (rl.line_amount) R_Nettowert
FROM [dbo].[iw_return_line]rl
where rl.postingDate between '01.01.2011'and '30.06.2011'
and rl.[Type] = 2
group by DATEPART (mm,rl.postingDate))r
zweite virtuelle Tabelle, Alias r für Retouren
where b.Monat = r.Monat → join über Monat
Der Select, ohne Kommentare, sieht dann wie folgt aus:
Select * from
(SELECT DATEPART (mm,s.postingDate)Monat,
sum(s.line_amount)Bruttowert,
sum (s.amount*s.quantity) Nettowert
FROM [dbo].[iw_sales]s
where s.[Type] = 2
and s.postingDate between '01.01.2011'and '30.06.2011'
group by DATEPART (mm,s.postingDate))b,
(SELECT DATEPART (mm,rl.postingDate) Monat,
sum(rl.vat_line_amount)R_Bruttowert,
sum (rl.line_amount) R_Nettowert
FROM [dbo].[iw_return_line]rl
where rl.postingDate between '01.01.2011'and '30.06.2011'
and rl.[Type] = 2
group by DATEPART (mm,rl.postingDate))r
where b.Monat = r.Monat
Das Ergebnis sieht möglicherweise noch etwas ungeordnet aus, die Berechnung aus beiden
Selects wurde aber korrekt zusammengeführt (Bild 8.6).
 
Search WWH ::




Custom Search