嘗試此查詢。
靜態樞軸
SELECT *
FROM (
SELECT
left(datename(month,DateOfTransaction),3)as [month], year(DateOfTransaction) as [year]
, Amount
FROM TBL_Transactionmaster
) as s
PIVOT
(
SUM(Amount)
FOR [Year] in([2011],[2012],[2013],[2014],[2015])
)AS piv
對於動態透視
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX)
select @cols = STUFF((SELECT distinct ',' + QUOTENAME(year(DateOfTransaction))
from TBL_Transactionmaster
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
set @query = 'SELECT [Month],' + @cols + ' from
(
SELECT
left(datename(month,DateOfTransaction),3)as [month], year(DateOfTransaction) as [year]
, Amount
FROM TBL_Transactionmaster
) x
pivot
(
sum(amount)
for [year] in (' + @cols + ')
) p '
execute(@query)
**對於所有月份和替換空0 **
SELECT [month], Isnull([2011],0) as [2011] , ISnull([2012],0) as [2012] ,ISNULL ([2013],0) as [2013] , ISNULL([2014],0) as [2014] , ISNULL([2015],0) as [2015]
FROM (
SELECT
left(datename(month,DateOfTransaction),3)as [month], Amount, year(DateOfTransaction) as [year]
FROM TBL_Transactionmaster
UNION ALL
select [MONTH], Amount, [year] FROM
(Select 'Jan' as [Month] , 0 as Amount, year(Getdate()) as [year] Union ALL
Select 'Feb' as [Month] , 0 as Amount, year(Getdate()) as [year] Union ALL
Select 'Mar' as [Month] , 0 as Amount, year(Getdate()) as [year] Union ALL
Select 'Apr' as [Month] , 0 as Amount, year(Getdate()) as [year] Union ALL
Select 'May' as [Month] , 0 as Amount, year(Getdate()) as [year] Union ALL
Select 'Jun' as [Month] , 0 as Amount, year(Getdate()) as [year] Union ALL
Select 'Jul' as [Month] , 0 as Amount, year(Getdate()) as [year] Union ALL
Select 'Aug' as [Month] , 0 as Amount, year(Getdate()) as [year] Union ALL
Select 'Sep' as [Month] , 0 as Amount, year(Getdate()) as [year] Union ALL
Select 'Oct' as [Month] , 0 as Amount, year(Getdate()) as [year] Union ALL
Select 'Nov' as [Month] , 0 as Amount, year(Getdate()) as [year] Union ALL
Select 'Dec' as [Month] , 0 as Amount, year(Getdate()) as [year]) MN
) as s
PIVOT
(
SUM(Amount)
FOR [Year] in([2011],[2012],[2013],[2014],[2015])
)AS piv
您可以使用數據透視這一點。 –
yep.But月是橫向顯示 –