I found this link Pivot tables in SQL Server. A simple sample. and did a conversion it to temp table. However, I got an error “Incorrect syntax near ‘(‘.” Can you help me on this? Below is the code:
IF OBJECT_ID('tempdb..#DailyIncome') IS NOT NULL
BEGIN
drop table #DailyIncome
END
create table #DailyIncome
(
VendorId nvarchar(10)
, IncomeDay nvarchar(10)
, IncomeAmount int
)
insert into #DailyIncome values ('SPIKE', 'FRI', 100)
insert into #DailyIncome values ('SPIKE', 'MON', 300)
insert into #DailyIncome values ('FREDS', 'SUN', 400)
insert into #DailyIncome values ('SPIKE', 'WED', 500)
insert into #DailyIncome values ('SPIKE', 'TUE', 200)
insert into #DailyIncome values ('JOHNS', 'WED', 900)
insert into #DailyIncome values ('SPIKE', 'FRI', 100)
insert into #DailyIncome values ('JOHNS', 'MON', 300)
insert into #DailyIncome values ('SPIKE', 'SUN', 400)
insert into #DailyIncome values ('JOHNS', 'FRI', 300)
insert into #DailyIncome values ('FREDS', 'TUE', 500)
insert into #DailyIncome values ('FREDS', 'TUE', 200)
insert into #DailyIncome values ('SPIKE', 'MON', 900)
insert into #DailyIncome values ('FREDS', 'FRI', 900)
insert into #DailyIncome values ('FREDS', 'MON', 500)
insert into #DailyIncome values ('JOHNS', 'SUN', 600)
insert into #DailyIncome values ('SPIKE', 'FRI', 300)
insert into #DailyIncome values ('SPIKE', 'WED', 500)
insert into #DailyIncome values ('SPIKE', 'FRI', 300)
insert into #DailyIncome values ('JOHNS', 'THU', 800)
insert into #DailyIncome values ('JOHNS', 'SAT', 800)
insert into #DailyIncome values ('SPIKE', 'TUE', 100)
insert into #DailyIncome values ('SPIKE', 'THU', 300)
insert into #DailyIncome values ('FREDS', 'WED', 500)
insert into #DailyIncome values ('SPIKE', 'SAT', 100)
insert into #DailyIncome values ('FREDS', 'SAT', 500)
insert into #DailyIncome values ('FREDS', 'THU', 800)
insert into #DailyIncome values ('JOHNS', 'TUE', 600)
SELECT * FROM #DailyIncome
SELECT *
FROM #DailyIncome
pivot(avg(IncomeAmount) FOR IncomeDay IN (
[MON]
,[TUE]
,[WED]
,[THU]
,[FRI]
,[SAT]
,[SUN]
)) AS AvgIncomePerDay
Thanks guys!
[UPDATE]
Based on the comments, the database is created using SQL Server 2000. Is there a workaround for this?
You can try something like
Please note, the reason why I used NULLS instead of 0 was due to the PIVOT functionality.
from Using PIVOT and UNPIVOT
You will find different results if you were to run the query with 0 instead of NULLs