专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Oracle技术

oracle子查询如何合在一起

发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
oracle子查询怎么合在一起
本帖最后由 u012293393 于 2014-09-04 16:22:57 编辑
select szzqmc 行政区名称,
       (select count(xzqdm) from ksds where szjg='110000' group by xzqdm) as a,
       (select count(xzqdm) from ksds where szjg='110000' and  zt=1 group by szzqmc)下发数,
       (select count(xzqdm) from ksds where szjg='110000' and  zt=1 and sftb='是' group by szzqmc)应报矿山数,
       (select count(xzqdm) from ksds where szjg='110000' and  sfytb=1 and sftb='是'  group by szzqmc)已报矿山数,
       (select count(xzqdm) from ksds where szjg='110000' and  zt=4 group by szzqmc)已通过审查,
       (select count(k.xzqdm) from ksds k left join scgc s on k.guid = s.guid where szjg='0'and s.kfbszt = 1 and s.clbszt = 1 group by k.szzqmc)已报上级
from ksds
group by szzqmc

(select count(xzqdm) from ksds where szjg='110000' group by xzqdm) as a,这几句都是多行子查询,怎么合在一起?


在线等啊,各位大神。
------解决方案--------------------
首先我很怀疑你原本的语句可以不报错???
你要的应该是:

select szzqmc 行政区名称,
       count(case when szjg='110000' then xzqdm else null end)  a,
       count(case when szjg='110000' and  zt=1 then xzqdm else null end)  下发数,
       count(case when szjg='110000' and  zt=1 and sftb='是' then xzqdm else null end) 应报矿山数,
       count(case when szjg='110000' and  sfytb=1 and sftb='是' then xzqdm else null end) 已报矿山数,
       count(case when szjg='110000'  and  zt=4 then xzqdm else null end)  已通过审查,
       count(case when exists(select 1 from scgc s where s.guid = b.guid and  b.szjg='0'and s.kfbszt = 1 and s.clbszt = 1)                  
           then xzqdm else null ) 已报上级
from ksds  b
group by szzqmc

或者

select szzqmc 行政区名称,
       count(xzqdm )  a,
       count(case when zt=1 then xzqdm else null end)  下发数,
       count(case when zt=1 and sftb='是' then xzqdm else null end) 应报矿山数,
       count(case when sfytb=1 and sftb='是' then xzqdm else null end) 已报矿山数,
       count(case when zt=4 then xzqdm else null end)  已通过审查,
       count(case when exists(select 1 from scgc s where s.guid = b.guid and  b.szjg='0'and s.kfbszt = 1 and s.clbszt = 1)                  
           then xzqdm else null ) 已报上级
from ksds  b
where szjg='110000'
group by szzqmc

注意上面两个是不相等的.
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: