我發現這個鏈接Pivot tables in SQL Server. A simple sample.並做了一個轉換到臨時表。但是,我得到了一個錯誤。 「附近有語法錯誤 '('」 你能不能幫我在這下面是代碼:?!無法透視表
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
謝謝你們
[更新]
根據該意見,使用SQL Server 2000中創建的數據庫是否有此解決方法?
SQL Server的版本是否運行了? – 2012-08-16 04:07:35
我剛剛在2008年,2005年和2000年運行過,並且只在2000年失敗。您會從鏈接中注意到PIVOT僅在2005年可用http://msdn.microsoft.com/zh-cn/library/ms177410 (v = sql.105).aspx,所以請運行SELECT @@ VERSION來檢查它是哪個版本。 – 2012-08-16 04:11:28
@ Musikero31,你的上面的代碼對我來說工作正常..我在2005年執行了這個 – SuganR 2012-08-16 04:12:05