oracle多表查询,如果某个表没有数据,查询不到结果,该怎么解决呀?

连接语句如下:
from user a,assinfo b,payable c,gov d
where a.accountno = b.account_no
and b.cert_no = c.addresscode
and d.warmyear = c.warmyear
and b.cert_no = 'XXXXXXXXX'

遇到的问题是:如果d表没有满足条件的记录,会导致整个查询没有结果。

请问各位应该怎么解决?

3个回答

使用左 右连接查询 或者 and ( d.warmyer is null or d.warmyear = c.warmyear )这样试试

那就不能把d表进行关联

from user a,assinfo b,payable c,gov d
where a.accountno = b.account_no
and b.cert_no = c.addresscode
and d.warmyear(+) = c.warmyear
and b.cert_no = 'XXXXXXXXX'
如果D表没数据的话就关联一下,哪些表没数据,就在where从句加 (+)关联即可

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问