当前位置: 代码迷 >> J2EE >> SQL多表查询,该怎么解决
  详细解决方案

SQL多表查询,该怎么解决

热度:184   发布时间:2016-04-19 21:59:25.0
SQL多表查询
判断A表的id是否在B、C、D表引用
说明:A表的id是B、C、D表的外键
------解决方案--------------------
引用:
select 1 from wzgl.tcldjmain t  
       where not exists (
             select 1 from wzgl.tcldjmx m  where m.fdjid=t.fdjid
       )

正解
------解决方案--------------------
(这里假设B、C、D表的ID为A表ID的外键)

1、判断B、C、D表是否都引用A表的ID
select id from A where A.id in (select id from B and A.id in (select id from C) and A.id in (select id from D)


2、判断B、C、D表是否有引用A表ID的
select id from A where A.id in (select id from B or A.id in (select id from C) or A.id in (select id from D)


觉得题目出得有点模糊,最好能举个例子
------解决方案--------------------
select  b.baid,c.caid,d.eaid from a a
left join  b b on a.id = b.baid
left join c  c  on a.id = c.caid
left join  e e on a.id = e.eaid

看下有没有值,有的话就存在,没有就没有
  相关解决方案