有table表A,其数据结构是动态的,但可以肯定其中至少有a、b、c、d四个字段。其他的字段来自另一个动态表B,数据类型为数值型。也就是只能肯定其中的四个字段 ,其他有几个字段并不清楚。可能是6个也可能是7个。
问题是想查询表A,显示其中所有的字段,并对除a、b、c、d四个字段外的不确定字段进行合计统计。我试着先对B表进行统计,从而知道不确定的字段是哪些。然后再对A表进行合计统计。不知能不能实现这种查询?
问题是想查询表A,显示其中所有的字段,并对除a、b、c、d四个字段外的不确定字段进行合计统计。我试着先对B表进行统计,从而知道不确定的字段是哪些。然后再对A表进行合计统计。不知能不能实现这种查询?
--思路:从表B里取出所有的字段并形成SQL语句,然后再用sp_executesql来执行该SQL语句declare @sqlstr nvarchar(1000)
declare @fieldstr varchar(20)--字义游标
declare cur_field cursor for
select 字段名 from 表Bopen cur_fieldfetch next from cur_field into @fieldstr
set @sqlstr=''
WHILE @@FETCH_STATUS = 0
BEGIN
set @sqlstr=@sqlstr+' sum('+@fieldstr+') as '+@fieldstr+','
fetch next from cur_field into @fieldstr
ENDclose cur_field
DEALLOCATE cur_fieldset set @sqlstr=left(@sqlstr,len(@sqlstr)-1)
set @sqlstr='select '+@sqlstr+' from 表A'
--输出SQL语句
print @cSqlStr
--执行SQL语句
exec sp_executesql @cSqlStr--这是我蒙着写的,你看能否运行,我想应该没有问题的吧。