用sql實現由原表a到目標表b的轉換,將原表a中cc列的值做為目標表b的字段,目標表b新建欄位的值為原表a中對應的_value值,如以下兩表。
原表aid cc _value
-- -- --- -----
-- -- --- -----
1 d 100
2 d 200
3 d 300
1 e 1000
2 e 2000
3 e 3000
1 f 10
2 f 20
3 f 30
目標表b
id d e f
-- -- -- --
-- -- -- --
1 100 1000 10
2 200 2000 20
3 300 3000 30
具體實現方法如下:
declare @s nvarchar(4000)
--交叉報表處理**頭
set @s='select id '
--生成列記錄水平顯示的處理**拼接(處理item列)
select @s=@s
+','+quotename(cc)
+n'=sum(case cc when '+quotename(cc,n'''')
+n' then _value end)'
from a
group by cc
--拼接交叉報表處理尾部,並且執行拼接後的動態sql語句
exec(@s+n'
from a
group by id')
可參考:http://community.csdn.net/expert/topic/5493/5493823.xml?temp=.6335108
sql語句刪除資料表重複欄位的方法
大家都可能遇到字段重複的情況,網上很多人在找方法,也給出了一些方法,但是有的方法是誤導大家,鐵牛寫出以下方法,方便大家使用 1.通過group by把重複的字段篩選出來,並建立臨時表tmp create table tmp as select max id as col1 from www grou...
sql語句刪除資料表重複欄位的方法
大家都可能遇到字段重複的情況,網上很多人在找方法,也給出了一些方法,但是有的方法是誤導大家,鐵牛寫出以下方法,方便大家使用 1.通過group by把重複的字段篩選出來,並建立臨時表tmp 1createtabletmpasselectmax id ascol1fromwwwgroupbydfdfd...
維護資料表常用SQL語句
逐漸接觸多人團隊erp軟體開發了。設計發布新的模組時候總結了下以前的同時的風格。總結出下面的經驗。其實這些語法在以往都有研究。但是系統用起來發現還是不那麼容易記得住,所以記下在此。新增資料表說明 execute sp addextendedproperty ms description 資料表說明 ...