create table #temp (employeename nchar(10),paycategory nchar(12),amount numeric(10,2))
insert into #temp (employeename,paycategory,amount) values ('王五','吃飯',10.2)
insert into #temp (employeename,paycategory,amount) values ('王五','洗頭',25)
insert into #temp (employeename,paycategory,amount) values ('王五','座車',2)
insert into #temp (employeename,paycategory,amount) values ('王五','住店',200)
insert into #temp (employeename,paycategory,amount) values ('張三','吃飯',20)
insert into #temp (employeename,paycategory,amount) values ('張三','洗頭',50)
insert into #temp (employeename,paycategory,amount) values ('張三','座車',9)
insert into #temp (employeename,paycategory,amount) values ('張三','住店',300)
insert into #temp (employeename,paycategory,amount) values ('張三','住店',500)
select employeename,[吃飯] as "吃",[洗頭] as "洗",[座車] as "車",[住店] as "住" from #temp pivot(sum(amount) for paycategory in ([吃飯],[洗頭],[座車],[住店])) as pvt
drop table #temp
結果:employeename 吃 洗 車 住
王五 10.2 25 2 200
張三 20 50 9 800
(9 行受影響)
(返回 2 行)
sql 行轉列問題
題目 下表tproduct某產品在各城市各月銷量情況 city name month no 月 qut qty 臺 杭州 9 100 杭州 10 120 上海 9 130 上海 10 140 請寫sql實現 如下查詢 city 9月銷量 10月銷量 杭州 100 120 上海 130 140 答案一...
SQL 行轉列總結
行轉列應該使用case 想要把某個行轉成列的列名 when 裡將各個列的值放進去 then 分組後某個值要進行彙總行 else 0 end 動態生成的話,將想要用的轉的,用selec查出來拼成以上格式就可以了 declare sql varchar 8000 如果大於8000只能用程式去拼乙個sql...
SQL行轉列例項
sql行轉列是比較經典的問題 比如有如下資料表,有如下某一款號 表1 顏色 尺碼 庫存 紅色 s 10 紅色 m 80 白色 l 50 白色 s 60 要將上面的表轉化為如下格式 表2 顏色 s m l 紅色 10 80 0 白色 60 0 50 動態sql create table tbl 0 c...