Select vbh,A=(case when gzlcb='A' then sum(JE) else 0 end),
B=(case when gzlcb='B' then sum(JE) else 0 end),
........................
from table
group by vbh,gzlcb
B=(case when gzlcb='B' then sum(JE) else 0 end),
........................
from table
group by vbh,gzlcb
解决方案 »
- 请问一个族索引创建的问题和存储过程问题?
- datetime类型如何计算相差的时间?
- 我想把一个表的查询结果赋给另一个表的某一字段,怎么写?
- 建表指定字段范围
- 在vs里拖存储过程的时候, 说无法检测该存储过程的返回值, 但是存储过程里又没有return/output, 为什么会提示啊?? 是哪里出问题呢?
- 高手达人请入!!!查询语句问题!
- 老生常谈的问题:正在使用中的SqlServer2005日志备份、删除、查看、限制大小!!
- 如何把选择出来的一列值相加呢???
- 强大的select语句的问题!!!!!!!!!!!!!!!
- SQL导出至Excel?
- 各位, 好久没有来了, 问个问题。。。。。。
- 在win2000 server 下如何在注册表里删除sql server2000??
go
insert #test values('001','A',100)
insert #test values('001','B',150)
insert #test values('001','C',110)
insert #test values('002','A',99)
insert #test values('002','B',180)
insert #test values('002','C',150)
insert #test values('003','A',160)
insert #test values('003','B',170)
insert #test values('003','C',130)
insert #test values('004','E',99)
insert #test values('004','F',180)
insert #test values('004','C',150)
GO
declare @sql varchar(8000)
set @sql = 'select vBH'
select @sql = @sql + ',sum(case GZLB when '''+GZLB+''' then JE end) ['+GZLB+']'
from (select distinct GZLB from #test) as aselect @sql = @sql+' from #test group by vBH'
select @sql
exec(@sql)
楼主可能没明白Create table #test (vBH char(10),GZLB char(10),JE int)
go
insert #test values('001','A',100)
insert #test values('001','B',150)
insert #test values('001','C',110)
insert #test values('002','A',99)
insert #test values('002','B',180)
insert #test values('002','C',150)
insert #test values('003','A',160)
insert #test values('003','B',170)
insert #test values('003','C',130)
insert #test values('004','E',99)
insert #test values('004','F',180)
insert #test values('004','C',150)
GO
这个是什么,是测试数据啊。