select c_1,c_3,sum(c_4) from table group by c_1,c_3
解决方案 »
- 消息 208,级别 16,状态 6,过程 StudentReg,第 62 行
- 不用子查询,如何查出在一个表中存在而在另一个表中不存在的ID号?
- 请教:一个sql更新问题
- dbo.fnTableColumnInfo 对象无效?求助
- [求助:]如何将“datetime”类型的字段减去一个月?sql7
- 怎么改变一个表的所有者?急!!!在线等候
- 求一条SQL语句,查询数据库中name字段中带有“张”的人。SQL(like的用法)怎么写?在线等。。。
- 远程备份问题?win2000 server+sql server7.0/2000对win2000 server +sql server7.0/2000平台远程备份
- 使用DTS分发程序
- 为什么在网络环境下文件可以共享,而Sql Server却连接不上,我的程序连不上,ODBC 也连不上,请高手来指教一下!
- 能不能用MS-SQL语句访问单一EXCEL硬盘文件?
- 综合性难题,希望大家赐教,有关数据追加,验证重复,报错等.
set @s = ''select @s = @s + ',['+c_3+']= sum(case when c_3 = '+c_3+' then c_4 else 0 end)'
from t_data group by c_3 order by c_3set @s = 'select c_1 '+@s+' from t_data group by c_1'exec(@s)
Insert Into t_data
select 'mm', '100001' , 'a1', 10 union all
select 'mm', '120021', 'b1', 5 union all
select 'mm', '100001', 'a1', 12 union all
select 'mm', '100001', 'b1', 6 union all
select 'bb', '125485', 'b1', 8 union all
select 'mm', '100001', 'a1', 9 union all
select 'nn', '115254' , 'c1', 12 union all
select 'mm', '124548', 'd1', 45
---------------實現語句----------------------------
declare @s varchar(4000)
set @s=''
select @s=@s+''+c_3+'='''+c_3+''',['+c_3 + ']=isnull((select sum(c_4) from t_data where c_1=a.c_1 and c_3='''+c_3+''' group by c_1,c_3 ),0),' from t_data group by c_3 order by c_3
set @s='select c_1,'+left(@s,len(@s)-1)+' From t_data a group by c_1 order by c_1 '
select @s
exec(@s)
--------------結果---------------------------
nn a1 0 b1 0 c1 12 d1 0
mm a1 31 b1 11 c1 0 d1 45
bb a1 0 b1 8 c1 0 d1 0