In meiner Verkaufstabelle sind die täglichen Verkäufe eines bestimmten Mieters in einer Eigenschaft aufgeführt.SQL Query zu aufgeschlüsselten täglichen Verkäufen pro Monat
Mit diesem Code konnte ich den täglichen Verkauf von Mietern auflisten oder auswählen, der auf der Gruppierung von Property basiert.
SELECT date , location , SUM(a.gsc) Sales
FROM SalesTable
WHERE (date BETWEEN '01/01/2015' AND '12/31/2015')
and (location = 'Property1')
GROUP BY location , date
ORDER BY location, date
Und das Ergebnis ist so etwas wie dieses
Date Location Sales
01/01/2015 Property1 10,000
01/02/2015 Property1 20,000
.
.
.
12/31/2015 Property1 15,000
Was möchte ich erreichen, wie die endgültige Ausgabe des Ergebnisses in tabellarischer Form ist machen, die Tage Datum wie die erste Reihe und Monat als die Säulen. Bitte beachten Sie die Beispielausgabe zur weiteren Veranschaulichung.
Date January February
Date Day Sales Date Day Sales
1 1-Jan Fri 10,000 1-Feb Mon 9,000
2 2-Jan Sat 20,000 2-Feb Tue 10,000
3 . . . . . .
4 . . . . . .
5 . . . . . .
6
7
8
.
.
.
.
.
31
Dies ist, was habe ich versucht,
SELECT date , location , SUM(a.gsc) Sales
INTO #TempTable1
FROM SalesTable
WHERE (date BETWEEN '01/01/2015' AND '12/31/2015')
and (location = 'Property1')
GROUP BY location , date
ORDER BY location, date
SELECT months.number, tenants.locationd , tenants.location
,(case when (t.DATE) = 1 then t.gsc end) as 'January'
,(case when (t.DATE) = 2 then t.gsc end)) as 'February'
(case when year(t.DATE) = 3 then t.gsc end) as 'March'
FROM
(
SELECT Number
FROM master..spt_values
WHERE Type = 'P' and Number between 1 and 31
) months
CROSS JOIN
( --12 Month Name will be cross joined sa selected tenant/s
SELECT DISTINCT locationd , location
FROM #AMRDSR1
) tenants
LEFT JOIN #AMRDSR1 t
ON months.number = datepart(day,t.date) and tenants.location = t.location
GROUP BY months.number, tenants.locationd , tenants.location , t.date, t.gsc
ORDER BY tenants.locationd , datepart(day,t.date)
Ich habe verwendet Pivot vorgeschlagen worden, aber das ist mir ganz neu und schien sehr kompliziert zu sein, wenn es Möglichkeiten gibt, zu Tun Sie es einfach mit TSQL, viel besser.
Ich hoffe auf Ihre fachkundige Beratung.
Vielen Dank!
Wird dies versuchen. Danke! @squirrel – rickyProgrammer
arbeiten .. danke! – rickyProgrammer
sind Sie herzlich willkommen – Squirrel