原代码
declare @s varchar(8000)
set @s='select 序号,项目,单位,单价'select @s=@s+',['+户主姓名+']=sum(case 户主姓名 when '''+户主姓名+''' then 数量 end)'
from GS_GRSWL group by 户主姓名
set @s=@s+' from GS_GRSWL group by 序号,项目,单位,单价'
declare @s varchar(8000)
set @s='select 序号,项目,单位,单价'select @s=@s+',['+户主姓名+']=sum(case 户主姓名 when '''+户主姓名+''' then 数量 end)'
from GS_GRSWL group by 户主姓名
set @s=@s+' from GS_GRSWL group by 序号,项目,单位,单价'
解决方案 »
- 刚学的SQL,请各位帮下忙。在SQL2008里运行的code
- 删除表中一些数据,再次插入的时候,自动累加的ID还是按以前的顺序递增??!!
- 把一个字段设置成text类型,把一段带有下划线的文字加进去后,为什么显示出来的文字不带下划线??
- SQL Server 2000 的变量声明问题
- ★★★ 请教各位:怎样在access中写trigger ??? 很急!!! ★★★
- 怎么找到一个表中,字段重复的那条记录
- 多列(不确定列数)和并成一列的查询问题,请教!
- 100分:小问题:这条SQL语句怎么写?
- 高分在线请教:如何不用游标,只用sql语句将一个表中部分字段的数据,更新另一个结构相同的表中相应的字段????到
- 求教简单的Sql语法。在线等,实在没分了。。。
- 关于综合查询的问题,望高手解决。。。。。。。在线等。。。。。
- 求一触发器:A表新增后往B表添加一记录。
set @sql=''
select @sql=@sql+','+xx人+'数量=sum(case when xx人='''+xx人+''' then 数量 end),'
+xx人+'金额=sum(case when xx人='''+xx人+''' then 金额 end)'
from (select distinct xx人 from 原表) a
set @sql='select 项目'+@sql+' from 原表 group by 项目'
exec (@sql)
set @sql=''
set @sql='select 项目,max(单价)'
select @sql=@sql+','+xx人+'数量=sum(case when xx人='''+xx人+''' then 数量 end),'
+xx人+'金额=sum(case when xx人='''+xx人+''' then 金额 end)'
from (select distinct xx人 from 原表) a
set @sql='from 原表 group by 项目'
exec (@sql)这样行吗
set @s='select 序号, 项目,单位,max(单价)'select @s=@s+','+户主姓名+'数量=sum(case when 户主姓名='''+户主姓名+''' then 数量 end),'
+户主姓名+'金额=sum(case when 户主姓名='''+户主姓名+''' then 金额 end)'
from (select distinct 户主姓名 from GS_GRSWL) aset @s=@s+' from GS_GRSWL group by 序号,项目,单位,单价'
exec(@s)老报有语法错误
declare @s varchar(8000)
declare @t varchar(8000)
declare @Field varchar(400)
declare @p varchar(400)
declare @F varchar(400)
set @Field='序号,项目 '
set @F='省'
set @p='select '+@Field+' '
select @s=' '+',['+省+'-数量]=sum(case '+省+' when '''+省+''' then 数量 end)'
from Gs_YMFWBC group by 省select @t=' '+',['+省+'金额]=sum(case 省 when '''+省+''' then 金额 end)'
from Gs_YMFWBC group by 省
set @s=@p+ @s+@t+' from Gs_YMFWBC group by '+@Field+' order by '+@Field
exec(@s)