select
1 as type,
sum(decode(ZTPJ,1,1,0)) as ZTPJ ,
sum(decode(ZXZC,1,1,0)) as ZXZC ,
sum(decode(SFXC,1,1,0)) as SFXC ,
sum(decode(FWZL,1,1,0)) as FWZL ,
sum(decode(GFZF,1,1,0)) as GFZF ,
sum(decode(BSXL,1,1,0)) as BSXL ,
sum(decode(LJZL,1,1,0)) as LJZL
from t
union all
select
2 as type,
sum(decode(ZTPJ,2,1,0)) as ZTPJ ,
sum(decode(ZXZC,2,1,0)) as ZXZC ,
sum(decode(SFXC,2,1,0)) as SFXC ,
sum(decode(FWZL,2,1,0)) as FWZL ,
sum(decode(GFZF,2,1,0)) as GFZF ,
sum(decode(BSXL,2,1,0)) as BSXL ,
sum(decode(LJZL,2,1,0)) as LJZL
from t
union all
select
3 as type,
sum(decode(ZTPJ,3,1,0)) as ZTPJ ,
sum(decode(ZXZC,3,1,0)) as ZXZC ,
sum(decode(SFXC,3,1,0)) as SFXC ,
sum(decode(FWZL,3,1,0)) as FWZL ,
sum(decode(GFZF,3,1,0)) as GFZF ,
sum(decode(BSXL,3,1,0)) as BSXL ,
sum(decode(LJZL,3,1,0)) as LJZL
from t
1 as type,
sum(decode(ZTPJ,1,1,0)) as ZTPJ ,
sum(decode(ZXZC,1,1,0)) as ZXZC ,
sum(decode(SFXC,1,1,0)) as SFXC ,
sum(decode(FWZL,1,1,0)) as FWZL ,
sum(decode(GFZF,1,1,0)) as GFZF ,
sum(decode(BSXL,1,1,0)) as BSXL ,
sum(decode(LJZL,1,1,0)) as LJZL
from t
union all
select
2 as type,
sum(decode(ZTPJ,2,1,0)) as ZTPJ ,
sum(decode(ZXZC,2,1,0)) as ZXZC ,
sum(decode(SFXC,2,1,0)) as SFXC ,
sum(decode(FWZL,2,1,0)) as FWZL ,
sum(decode(GFZF,2,1,0)) as GFZF ,
sum(decode(BSXL,2,1,0)) as BSXL ,
sum(decode(LJZL,2,1,0)) as LJZL
from t
union all
select
3 as type,
sum(decode(ZTPJ,3,1,0)) as ZTPJ ,
sum(decode(ZXZC,3,1,0)) as ZXZC ,
sum(decode(SFXC,3,1,0)) as SFXC ,
sum(decode(FWZL,3,1,0)) as FWZL ,
sum(decode(GFZF,3,1,0)) as GFZF ,
sum(decode(BSXL,3,1,0)) as BSXL ,
sum(decode(LJZL,3,1,0)) as LJZL
from t
for instance:
create or replace procedure pro_count()
as
declare mycursor for cursor is
select* from tableName
begin
....
I thank you may write
end
from t
where ....