参考:是这个意思吗?create table #(a varchar(100),b int)
insert # values('aa',11)
insert # values('bb',1)
insert # values('aa',45)
insert # values('cc',81)
insert # values('a',11)
insert # values('aay',561)
insert # values('a',14)declare @sql varchar(8000)
set @sql = 'select '
select @sql = @sql + 'sum(case a when '''+a+'''
then b else 0 end) '+a+'的数量,'
from (select distinct a from #) as aselect @sql = left(@sql,len(@sql)-1) + ' from #'exec(@sql)drop table #
insert # values('aa',11)
insert # values('bb',1)
insert # values('aa',45)
insert # values('cc',81)
insert # values('a',11)
insert # values('aay',561)
insert # values('a',14)declare @sql varchar(8000)
set @sql = 'select '
select @sql = @sql + 'sum(case a when '''+a+'''
then b else 0 end) '+a+'的数量,'
from (select distinct a from #) as aselect @sql = left(@sql,len(@sql)-1) + ' from #'exec(@sql)drop table #
select sum(期初数量),sum(本期收入),sum(本期发出),物料,分组字段1,分组字段2
group by 物料,分组字段1,分组字段21、其中分组字段个数不限,要求能够按选择的字段自动产生上面的这条SQL语名
2、分组字段这些信息包含在物料属性中,我一个想法就是建立一张表来通过定义能够被选择分组的字段,对应物料表中的某个字段,然后产生此语句。
想请大家帮忙看看!
你可以借鉴一下。
例如你可以创建一个表个,包含物料,分组字段1,分组字段2
字段,然后插入字段所有可能的取值,然后创建触发器,在触发器
中进行计算并更新统计信息,
然后直接查询统计表就可以了。仅供参考,祝你好运开心就好!!!
select 字段1 as 字段1名称,字段2 as 字段2名称,...,sum(字段4) as 字段4名称,sum(字段5) as 字段5名称,...from 表名 where 条件 group by 字段1,字段2,字段3,...(不用求sum的所有字段名)
select 表.字段....表2.字段名 from 表...where....