您的位置:首页 > 编程语言 > Go语言

一个行列转换的问题

2007-06-20 11:34 295 查看
问题:http://community.csdn.net/Expert/topic/5610/5610544.xml?temp=.4333612

Create Table TEST
(USER_ID Varchar(10),
 USER_DATANAME Varchar(10),
 USER_DATAVALUE Int)
Insert TEST Select   'A',         'X',             12
Union All Select   'B',         'X',             23
Union All Select   'C',         'Z',             34
Union All Select   'B',         'Y',             45
Union All Select   'A',         'Z',             12
Union All Select   'C',         'X',             23
Union All Select   'A',         'Y',             14
Union All Select   'B',         'z',              98
Union All Select   'c',          'y',             199
GO
Create Procedure SP_TEST
As
Begin
 Declare @S Varchar(8000)
 set @S = ' Select [USER_ID]'
 Select @S = @S + ', SUM(Case USER_DATANAME When ''' + USER_DATANAME + ''' Then USER_DATAVALUE Else 0 End) As ' + USER_DATANAME
 From [TEST] Group By USER_DATANAME
 set @S = @S +' From [TEST] Group By [USER_ID]'
 EXEC(@S)
End
GO

EXEC SP_TEST
GO

Drop Table TEST
Drop Procedure SP_TEST 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  user table insert go c