如何写sql语句呢???? with temp as (
select a.a0132,t.zgzt,t.lc,t.rq from t_tablet t,a01 a
where a.a0199<'6' and to_char(t.rq,'yyyy-MM-dd')=to_char(sysdate,'yyyy-MM-dd')
and a.a0132 in ( '123456010000','123456020000','123456080000','123456090000','123456100000','123456030000',
'123456000000'
)
and a.lc = t.lc
)select sum(decode(zgzt,'0101',1,'0102',1,'0103',1,'0104',1,'0105',1,'0205',1,'0206',1,0)) 在岗总人数,
count(*) 总人数,
decode(substr(a0132,1,8),
'12345601','学习部','12345602','宣传部','12345608','监察部',
'12345609','审计部','12345610','督察部','12345603','办公室',
'12345600','总部') 单位名称
from temp
group by a0132a0132是由12位数字组成的字符型代码,需求是
目前是查询所有的顶级单位统计数据,
如果,我想把子机构的统计数量显示到父机构上呢??比方:办公室原来为5个。现在办公室一 18,
办公室二 2,办公室三 3,办公室四 7 那么 查询出来的办公室显示为 5+18+2+3+7=30个。
如何写sql语句呢????
整个结构如下:
总部
-| 学习部
-| 宣传部
-| 监察部
-| 审计部
-| 督察部
-| 办公室
-| 办公室一 18
-| 办公室二 2
-| 办公室三 3
-| 办公室四 7
select a.a0132,t.zgzt,t.lc,t.rq from t_tablet t,a01 a
where a.a0199<'6' and to_char(t.rq,'yyyy-MM-dd')=to_char(sysdate,'yyyy-MM-dd')
and a.a0132 in ( '123456010000','123456020000','123456080000','123456090000','123456100000','123456030000',
'123456000000'
)
and a.lc = t.lc
)select sum(decode(zgzt,'0101',1,'0102',1,'0103',1,'0104',1,'0105',1,'0205',1,'0206',1,0)) 在岗总人数,
count(*) 总人数,
decode(substr(a0132,1,8),
'12345601','学习部','12345602','宣传部','12345608','监察部',
'12345609','审计部','12345610','督察部','12345603','办公室',
'12345600','总部') 单位名称
from temp
group by a0132a0132是由12位数字组成的字符型代码,需求是
目前是查询所有的顶级单位统计数据,
如果,我想把子机构的统计数量显示到父机构上呢??比方:办公室原来为5个。现在办公室一 18,
办公室二 2,办公室三 3,办公室四 7 那么 查询出来的办公室显示为 5+18+2+3+7=30个。
如何写sql语句呢????
整个结构如下:
总部
-| 学习部
-| 宣传部
-| 监察部
-| 审计部
-| 督察部
-| 办公室
-| 办公室一 18
-| 办公室二 2
-| 办公室三 3
-| 办公室四 7
start with 1=1
connect by prior id = id