sqlserverpivot
『壹』 sql動態多行轉列,PIVOT怎麼能轉兩列
動態最好用存儲過程(年月不確定,列名不確定),對sql進行拼接,再寫一個第二條語句關於辦結的,然後把這個受理與辦結通過事項進行關聯查詢得到兩列結果就好
『貳』 SQLSERVER PIVOT和UNPIVOT操作
在SQL中,PIVOT和UNPIVOT操作用於數據轉置,將行轉換為列(PIVOT)或將列轉換為行(UNPIVOT),主要用於數據分析和報告。PIVOT操作將特定列的多個唯一值轉換為多個列,通常用於聚合數據並重新排列為行和列的矩陣。假設有一個名為EmployeeSales的表,記錄不同員工在不同季度的銷售額。我們利用PIVOT操作將Quarter列的值轉換為多個列,並對每個季度的SalesAmount進行求和,結果如下,可以輕松比較不同員工在不同季度的業績。UNPIVOT操作則是PIVOT的逆操作,它將列轉換為行,適用於將PIVOT操作生成的矩陣格式數據轉換回原始格式。以剛才的PIVOT操作結果為例,使用UNPIVOT操作將數據轉換回原始格式,結果恢復為原始格式。PIVOT和UNPIVOT是SQL中的強大工具,幫助我們適應不同的分析和報告需求。PIVOT用於創建聚合數據的交叉表,而UNPIVOT則用於將交叉表轉換回長格式數據,掌握這些操作可以大大提高處理和分析數據的靈活性。
『叄』 SQLServer2005中PIVOT的和值計算!
select id,name,a.一季度,b.二季度,c.三季度,d.四季度,e.匯總 from
(select id,name,sum(profile) 一季度 where quarter=1 group by id,name) a,
(select id,name,sum(profile) 二季度 where quarter=2 group by id,name) b,
(select id,name,sum(profile) 三季度 where quarter=3 group by id,name) c,
(select id,name,sum(profile) 四季度 where quarter=4 group by id,name) d,
(select id,name,sum(profile) 匯總 group by id,name) e,
where e.id=a.id and e.name=a.name
and e.id=b.id and e.name=b.name
and e.id=c.id and e.name=c.name
and e.id=d.id and e.name=d.name
『肆』 sqlserver中如何使用pivot,達到如下效果急死小弟了!
要使用sum函數
如果是你這樣的字元串,應該是用轉換NULL到"",然後用字元串拼接函數
希望對你有幫助
http://wenku..com/link?url=ga06E6mVVxFw-_gG1ZPr07uf5SHhjLDY-xeyRft1ifCLKHDwYDrWEoxS