Oracle中的SQL查询语句:根据同一张表中的某一字段的不同条件分别求另一字段的和。
表内容:id部门分值正负1a1Y2b2N3c5Y4a4N5a3Y6b6N7c3Y想实现的查询结果部门正分负分a44b8c8求教各位SQL/plus查询语句,谢谢了先!根据...
表内容:
id 部门 分值 正负
1 a 1 Y
2 b 2 N
3 c 5 Y
4 a 4 N
5 a 3 Y
6 b 6 N
7 c 3 Y
想实现的查询结果
部门 正分 负分
a 4 4
b 8
c 8
求教各位SQL/plus查询语句,谢谢了先!
根据表中,按部门group by 分别求同一部门“正负”字段等于“Y”和等于“N”的分值和。 展开
id 部门 分值 正负
1 a 1 Y
2 b 2 N
3 c 5 Y
4 a 4 N
5 a 3 Y
6 b 6 N
7 c 3 Y
想实现的查询结果
部门 正分 负分
a 4 4
b 8
c 8
求教各位SQL/plus查询语句,谢谢了先!
根据表中,按部门group by 分别求同一部门“正负”字段等于“Y”和等于“N”的分值和。 展开
2个回答
展开全部
create table #a (id int,bm char(10),fz int,zf char(10))
insert #a select 1,'a',1,'y'
insert #a select 2,'b',2,'n'
insert #a select 3,'c',5,'y'
insert #a select 4,'a',4,'n'
insert #a select 5,'a',3,'y'
insert #a select 6,'b',6,'n'
insert #a select 7,'c',3,'y'
declare @sql varchar(800)
set @sql='select bm'
select @sql =@sql+', sum(case zf when '''+zf+''' then fz else 0 end )['+zf+']'
from (select distinct zf from #A ) as a
set @sql=@sql+'from #a group by bm'
exec(@sql)
insert #a select 1,'a',1,'y'
insert #a select 2,'b',2,'n'
insert #a select 3,'c',5,'y'
insert #a select 4,'a',4,'n'
insert #a select 5,'a',3,'y'
insert #a select 6,'b',6,'n'
insert #a select 7,'c',3,'y'
declare @sql varchar(800)
set @sql='select bm'
select @sql =@sql+', sum(case zf when '''+zf+''' then fz else 0 end )['+zf+']'
from (select distinct zf from #A ) as a
set @sql=@sql+'from #a group by bm'
exec(@sql)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询