表AA(keshi varchar(10),leixing varchar(10),shuliang int)keshi leixing shuliang
----- ------- --------
yi bao 10
er pian 12
er bao 5
er pian 5
er bao 15要求得到以下结果:
bao pian keshi heji
--- ---- ----- ----
10 NULL yi 10
20 17 er 37
请大家帮帮我!
----- ------- --------
yi bao 10
er pian 12
er bao 5
er pian 5
er bao 15要求得到以下结果:
bao pian keshi heji
--- ---- ----- ----
10 NULL yi 10
20 17 er 37
请大家帮帮我!
Select
bao = SUM(Case leixing When 'bao' Then shuliang Else 0 End),
pian = SUM(Case leixing When 'pian' Then shuliang Else 0 End),
keshi,
SUM(shuliang) As heji
From
AA
Group By
keshi
Select
bao = SUM(Case leixing When 'bao' Then shuliang Else 0 End),
pian = SUM(Case leixing When 'pian' Then shuliang Else 0 End),
keshi,
SUM(shuliang) As heji
From
AA
Group By
keshi
--如果leixing不是固定的
Declare @S Varchar(8000)
Select @S = 'Select '
Select @S = @S + leixing + ' = SUM(Case leixing When ''' + leixing + ''' Then shuliang Else 0 End),'
From AA Group By leixing
Select @S = @S + ' keshi, SUM(shuliang) As heji From AA Group By keshi'
EXEC(@S)