【数据库】oracle多表拼接,Leftjoin将SELECT出的所有结果
拼接成⼀张表。sql left join 多表连接
项⽬中遇到这样的问题,需要按指定的时间区间从10个数据库表中查询到关于10个司法局的业务数量,案件数量等11列信息。再对这些
结果排序。
那么我们怎么通过⼀个SQL语句来解决呢?
下⾯介绍下SQL⽅法:
select
a.*,
a.id,
b.id,
c.price
from author a
left join book b on a.id=b.id
left join order c on a.id=c.id
使⽤Left join -on语句将3张表链接到了⼀起。对于项⽬的解决办法,可以将book,order,auther替换成sql语句,即select出来的
表,再做⼀次left join
SQL语句如下
select
a.MEDIATIONCOMMITTEE,
a.tiaojieaj,
b.shangbaosl,
c.paichafk,
d.zixunrz,
e.chunjufw,
f.faxuanhd
from (select MEDIATIONCOMMITTEE,count(1) as tiaojieaj from MBM_CASE where DATEACCEPTED <= to_date('2018-05-10 00:00:00','yyyy-mm-dd hh24:mi left join (select MEDIATIONCOMMITTEE,count(1) as shangbaosl from MCS_MEDIATIONCASE where REPORTDATE between to_date('2016-01-10 00:00:00', on a.MEDIATIONCOMMITTEE=b.MEDIATIONCOMMITTEE
left join (select MEDIATIONCOMMITTEE,count(1) as paichafk from CDS_INVESTIGATIONFEEDBAC where DATE_ between to_date('2016-01-10 00:00:00','yy on a.MEDIATIONCOMMITTEE=c.MEDIATIONCOMMITTEE
left join (select MEDIATIONCOMMITTEE,count(1) as zixunrz from AMS_VILLAGESERVICELOG where CREATEDATE between to_date('2016-01-10 00:00:00' on a.MEDIATIONCOMMITTEE=d.MEDIATIONCOMMITTEE
left join (select MEDIATIONCOMMITTEE,count(1) as chunjufw from WWS_CONSULT where DATE_ between to_date('2016-01-10 00:00:00','yyyy-mm-dd hh2 on a.MEDIATIONCOMMITTEE=e.MEDIATIONCOMMITTEE
left join (select MEDIATIONCOMMITTEE,count(1) as faxuanhd from WWS_LEGALACTIVITY where STARTDATE between to_date('2016-01-10 00:00:00','yyy on a.MEDIATIONCOMMITTEE=f.MEDIATIONCOMMITTEE
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论