SQL DB2 与 1 个具有一些空值的表联接

  • 本文关键字:空值 具有一 DB2 SQL sql db2
  • 更新时间 :
  • 英文 :


我有2个表:arao

所有项目(货号(都存在于ar中,但有些项目(货号(在ao中不存在,或者不存在值aotlkd="F"

我试过了:

select ao.aoarom, ar.ararnr , ar.ararir, ar.ararkc 
from ao 
join ar on ao.aoarnr=ar.ararnr 
WHERE ar.ARARNR = '"+ articlenumber+"' 
and ao.aotlkd='F'

尝试了左连接和右连接以及外部连接,这没有区别。

我希望它在不存在或aoaotlkd"F"时返回 nullaoarom,并在这种情况下返回ararnr, ararir, ararkc的值

现在,当ao不存在或aotlkd"F"时,它不会返回任何内容

select ao.aoarom, ar.ararnr , ar.ararir, ar.ararkc 
from ar left join (SELECT * FROM ao WHERE ao.aotlkd='F') as ao on ao.aoarnr=ar.ararnr 
WHERE ar.ARARNR = '"+ articlenumber+"' 

是我会对你的规格做出的。 但是,该规范("我希望它在ao不存在或aotlkd不是"F"时返回anoarom的null,并且在这种情况下还返回ararnr,ararir,ararkc的值(确实太不精确了,无法确定您想要/需要/期望的确切内容。

你试过吗

select aoarom, ararnr , ararir, ararkc 
from ao 
LEFT join
ar 
on   ao.aoarnr = ar.ararnr 
and  ARARNR    = '"+ articlenumber+"' 
and  aotlkd    = 'F'

顺便说一句,它将帮助我们了解您是否在ARARNRaotlkd前面加上表名,以便我们知道这些列在哪个表中。

相关内容

最新更新