2017-06-14 39 views
0

我已經提出了一些疑問,這一個必須是最簡單的,但我找不到我犯的錯誤。我只想在where語句中搜索ATTRIBUUT ='BVM'。問題在於它向我展示了每個ATTRIBUUT,而不僅僅是'BVM'。SQL哪裏聲明不起作用

select * 
from bla join bla1 on KEY_NUMMER = KEY_NUMMER1 
where DATUM_EINDE_REGISTRATIE is null 
and nvl(DATUM_TOT,'31-12-9999') > sysdate 
and ATTRIBUUT = 'BVM' 
and IDENTIFICATIE in (123, 456) 

有人能幫助我,我做錯了或失蹤?

+0

我假設'ATTRIBUUT'是'bla'表的一部分? – Adam

+1

您可以嘗試bla.KEY_NUMBER = bla1.KEY_NUMMER1。同樣,bla.ATTRIBUUT ='BVM'或blah1.ATTRIBUUT ='BVM' – user2309843

+0

Adam是的,ATTRIBUUT是bla的一部分。 @ achang27我正在嘗試它。 – EfhK

回答

2

嘗試在您的表上使用Alias。如果兩個表中都有ATTRIBUUT列,這可能會帶來不希望的結果。例如:

select * 
from bla as A 
join bla1 as B 
on B.KEY_NUMMER = A.KEY_NUMMER1 
where A.DATUM_EINDE_REGISTRATIE is null 
and nvl(DATUM_TOT,'31-12-9999') > sysdate 
and A.ATTRIBUUT = 'BVM' 
and A.IDENTIFICATIE in (123, 456)