0
A
回答
3
正如Turophile所說,這種數據格式表明您的數據設計有問題。
不過,如果你需要做到這一點,這裏的如何,我會做到這一點。
(注意:我創建了一個臨時表,並在例如填充它你已經擁有的表和數據,但我需要一些用於測試)
Create table #feeSchedule
(
FeeId int identity(1,1) not null primary key,
Description nvarchar(255) not null,
FeeAmount money not null,
FeeName nvarchar(50) not null
)
go
insert into #feeSchedule values('Nursery', 5000, 'Admission Fee')
insert into #feeSchedule values('Nursery', 1000, 'Tuition Fee')
insert into #feeSchedule values('Nursery', 100, 'Late Fee')
insert into #feeSchedule values('Nursery', 0, 'Exam Fee')
insert into #feeSchedule values('Play Group', 5000, 'Admission Fee')
insert into #feeSchedule values('Play Group', 2500, 'Tuition Fee')
insert into #feeSchedule values('Play Group', 100, 'Late Fee')
insert into #feeSchedule values('Play Group', 0, 'Exam Fee')
DECLARE @columnHeaders VARCHAR(MAX)
SELECT @columnHeaders =
COALESCE(
@columnHeaders + ',[' + cast(FeeName as varchar) + ']',
'[' + cast(FeeName as varchar)+ ']'
)
FROM (select distinct FeeName from #feeSchedule) as fs
DECLARE @sql NVARCHAR(MAX)
SET @sql = N'
SELECT *
FROM (
SELECT
fs.Description,
fs.FeeName,
fs.FeeAmount
FROM #feeSchedule fs
) AS PivotData
PIVOT (
SUM(FeeAmount)
FOR FeeName IN (
' + @columnHeaders + '
)
) AS PivotTable
'
exec sp_ExecuteSql @sql
go
drop table #feeSchedule
+0
它工作完美!非常感謝Chris J. Breisch ........ –
0
SELECT *
FROM (
SELECT
Description(invoiceDate) as [year],FeeAmount,
InvoiceAmount as Amount
FROM TableName
) as s
PIVOT
(
SUM(Amount)
FOR [month] IN (Admission Fee, Tution Fee, Exam Fee, Late Fee)
)AS pivot
相關問題
- 1. 選擇具有可變行數的列中的所有數據
- 2. Pandas read_csv - 具有可變列數的行
- 3. 如何僅爲具有HTML :: Table的數據行設置列類?
- 4. 將具有多行數據的列轉換爲Excel中具有多列的行。
- 5. 選擇具有'dataname'數據的行/列
- 6. 如何使用MYSQL從具有可變數據庫和表格的數據中進行選擇
- 7. 如何使用PHP列出行數據
- 8. 行數據爲對象,具有兒孫
- 9. 使域數據可用於WCF行爲
- 10. Unpivot SQL OR使用行數據作爲列標題和行數據交叉應用表格作爲列數據
- 11. 繪製具有可變長度分類數據的行
- 12. 如何查詢行數據作爲列?
- 13. 如何將行數據轉換爲列?
- 14. 如何將行數據轉換爲列?
- 15. 如何將列數據轉換爲行
- 16. 轉換爲具有行列表的正常數據幀。將行拆分爲列
- 17. 數據表:如何禁用行選擇爲可編輯的列
- 18. 如何使用jQuery AJAX數據進行可變
- 19. 如何更新具有序列化數據的Mysql行?
- 20. 具有可變數量數據點的SSRS堆疊數據條
- 21. 使用SQL Server將行數據轉換爲列數據
- 22. 具有不同行數的數據幀
- 23. PHP/MySQL:如何查詢行數據信息作爲列數據?
- 24. 如何將行數據轉換爲列數據?
- 25. 如何在JSP中根據數據大小動態呈現具有固定行和可變列的JSP表格?
- 26. 如何將具有行的對象轉換爲數據表
- 27. 如何將複雜數據保存爲具有numpy savetxt的行?
- 28. 如何使用ListView呈現具有多個行列的數據表
- 29. 如何使用SQL在具有可變數量字段的兩個數據集之間進行聯合?
- 30. mySql:計數列中具有相同數據的行數
搜索SO或網絡上「數據透視表」。 – Turophile
另外,如果你要扭轉這樣的數據來獲得你想要的答案,你的數據結構可能是不正確的你的 要求。 – Turophile
可能重複的[SQL Server PIVOT示例?](http://stackoverflow.com/questions/24470/sql-server-pivot-examples) –