我现在有个表smaple
name aType bType cType
-------------------------------
1. aa DA
2. b2 WK
3. cc DA
4. fea SS
5. wf DA
6. ei WK
现在我以aType分组统计数量,想得到这样子
--------------------------------------
3 DA
2 WK
1 SS
[email protected]='aType'
select count(*),@mmm
from T_TermDescofLD group by @mmm
但是就会报错“关于每个GROUPBY表达式必须至少包含一个不是外部引用的列”
因为列名不是固定的,列名只能是变量
请问大家怎么解决呢?
------解决方案--------------------
- SQL code
--用动态declare @sql varchar(max)declare @mmm varchar(100)set @mmm = 'atype'set @sql = 'select count(*),[email protected]+' from tb group by [email protected]exec(@sql)
------解决方案--------------------
- SQL code
--动态sqlexec ('select count(*),[email protected]+' from T_TermDescofLD group by [email protected])
------解决方案--------------------
while @@FETCH_STATUS=0
begin
insert #Temp(countNum,ruler)
exec ('select count(*),[email protected]+' from T_TermDescofLD group by [email protected])
FETCH next from cur_colName INTO @mmm
end