关于游标和交叉表使用!!!求救!!!
表A :
COL COL1 COL2
A 1
B 1
A 2
B 2
C 3
C 3
成为 :
col 1 2 3
A 1个 1个 0个
B 1个 1个 0个
C 0个 0个 2个
[解决办法]
li_binquan() ( ) 信誉:100 Blog 2007-03-09 15:54:33 得分: 0
1,2,3 成了汉字怎么就不行了?提示列名无效!!!!
----------
是這個意思?
Create Table A
(COLVarchar(10),
COL1Nvarchar(10),
COL2Int)
Insert A Select 'A ', N '一 ', Null
Union All Select 'B ', N '一 ', Null
Union All Select 'A ', N '二 ', Null
Union All Select 'B ', N '二 ', Null
Union All Select 'C ', N '三 ', Null
Union All Select 'C ', N '三 ', Null
GO
Declare @S Nvarchar(4000)
Select @S = 'Select Col '
Select @S = @S + N ', Rtrim(SUM(Case COL1 When N ' ' ' + Rtrim(COL1) + N ' ' ' Then 1 Else 0 End)) + N ' '个 ' ' As [ ' + Rtrim(COL1) + '] '
From A Group By COL1
Select @S = @S + ' From A Group By Col Order By Col '
EXEC(@S)
GO
Drop Table A
--Result
/*
COL一二三
A1个1个0个
B1个1个0个
C0个0个2个
*/