Databases Reference
In-Depth Information
SELECT distinct s.postingDate, DATEPART (isowk, s.postingDate) Woche
FROM [dbo].[iw_sales]s
where Type = 2 →
ohne Frachtkosten
and s.postingDate between '28.12.2010'and '31.01.2011'
order by s.postingDate
Ein direkter Vergleich beider Selects (Bild 7.4) zeigt nicht nur ein richtiges Wochenergebnis
an, es ist für das Datum des 2. Januar sogar eindeutiger.
Bild 7.4■
Vergleich beider Abfragen
Daher sollten Sie immer mit
ISOWK
oder
ISOWW
arbeiten. Achten Sie dabei stets auf die
richtige Spracheinstellung (
set language german
).
Der richtige und komplette Select mit ISO-Week lautet wie folgt:
Select a.Woche, a.Kunden, a.Bestellungen,
a.Artikelmenge, a.Nettosumme,
cast((a.Nettosumme/a.Bestellungen)as DECIMAL (10,2))Warenkorb,
cast ((a.Artikelmenge/a.Bestellungen)as DECIMAL (10,2))Artikel_WK
from
(Select DATEPART (isowk, s.postingDate) Woche,
count (distinct s.customerNo) Kunden,
count (distinct s.orderNo) Bestellungen,
sum (s.quantity) Artikelmenge,
cast (sum (s.amount*s.quantity)as DECIMAL (10,2)) Nettosumme
FROM [dbo].[iw_sales]s