1:
--建表:
create table tbn(num number,comps varchar2(10), area varchar(10));
insert into tbn select 1 , 'test' , 'tt'
from dual
union all select
2 , 'test' , 'ss'
from dual
union all select
5 , 'test2' , 'tt'
from dual
union all select
8 , 'test2' ,'ss'
from dual;--测试
select comps,max(decode(area,'tt',num,0)) as tt,
max(decode(area,'ss',num,0)) as ss from tbn group by comps;--结果:
COMPS TT SS
---------- ---------- ----------
test 1 2
test2 5 8
--如果area字段很多的话,那就得要动态的语句了。在MSSQL中很简单的
--建表:
create table tbn(num number,comps varchar2(10), area varchar(10));
insert into tbn select 1 , 'test' , 'tt'
from dual
union all select
2 , 'test' , 'ss'
from dual
union all select
5 , 'test2' , 'tt'
from dual
union all select
8 , 'test2' ,'ss'
from dual;--测试
select comps,max(decode(area,'tt',num,0)) as tt,
max(decode(area,'ss',num,0)) as ss from tbn group by comps;--结果:
COMPS TT SS
---------- ---------- ----------
test 1 2
test2 5 8
--如果area字段很多的话,那就得要动态的语句了。在MSSQL中很简单的
select comps,max(decode(area,'tt',num,0)) as tt,
max(decode(area,'ss',decode(num,2,1,num),0)) as ss from tbn group by comps;--结果:
COMPS TT SS
---------- ---------- ----------
test 1 1
test2 5 8
1 select comps,sum(decode(area,'tt',num,0)) tt,sum(decode(area,'ss',num,0)) ss
2 from ttest
3* group by compsCOMPS TT SS
----- ---------- ----------
test 1 2
test2 5 8
[email protected]> r
1 select comps,sum(decode(area,'tt',num,0)) tt,sum(decode(area,'ss',decode(num,2,1,num),0)) ss
2 from ttest
3* group by compsCOMPS TT SS
----- ---------- ----------
test 1 1
test2 5 8
--如果s='2',则显示t
友联创新系统集成有限公司(北京上地)
在天津招聘
熟悉oracle 有相关工作经验 学过c语言
工作地点:天津
其它事项面谈
有意象请将简历发至
[email protected]
[email protected]
联系人:王先生