我有2个表:ar
和ao
所有项目(文章编号)都存在于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'
还尝试了左右连接和外部连接,这没有什么区别。
我希望在aoarom
不存在或ao
不为aotlkd
的情况下为"F"
返回null,并为ararnr, ararir, ararkc
返回值在这种情况下
现在,当ao
不存在或aotlkd
不是"F"
时,它不返回任何内容
答案 0 :(得分:1)
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”时为aoarom返回null,并且在这种情况下还为ararnr,arararir,ararkc返回值”)确实太不精确了,确定您想要/需要/期望的东西到底是什么。
答案 1 :(得分:0)
您尝试过
select aoarom, ararnr , ararir, ararkc
from ao
LEFT join
ar
on ao.aoarnr = ar.ararnr
and ARARNR = '"+ articlenumber+"'
and aotlkd = 'F'
顺便说一句,它可以帮助我们了解您是否在表名的ARARNR
和aotlkd
前面加上前缀,以便我们知道这些列在哪个表中。