2016-12-15 6 views
0

I-Daten in diesem Format gespeichert haben:SQL-Abfrage für Datumsbereich als Spalten

Name | Order Date | Order Amount 
--- 

Ich brauche es angezeigt, wie:

Name | Jun 16-30 | Jul | Aug | Sep | Oct | ... | May | Jun 1 - 15 
--- 

Mit Menge unter jedem Datumsbereich/Monat summiert.

Gibt es eine Möglichkeit, dies mit einem Pivot zu erreichen, oder mit einem Fall summieren? Ich muss summieren, wo Tag/Monat zwischen den Daten ist, aber das Jahr ist nicht wichtig.

Antwort

2

Das allgemeine Format für die bedingte Aggregation in MS Access ist:

select name, 
     sum(iif(datepart("month", OrderDate) 6 and datepart("day", OrderDate) between 16 and 30, OrderAmount, 0)) as [Jun 16-30], 
     sum(iif(datepart("month", OrderDate) = 7, OrderAmount, 0) as [Jul], 
     . . . 
from t 
group by name; 
Verwandte Themen