2016-09-08 10 views
0
ids yesterday date  ids today  date 

s 01516047894532 07.09.2016 01516047894532 08.09.2016 
s 01516047894533 07.09.2016 01516047894533 08.09.2016 
m 01516047894524 07.09.2016 01516047894534 08.09.2016 
m 01516047894525 07.09.2016 01516047894535 08.09.2016 
m 01516047894526 07.09.2016 01516047894536 08.09.2016 
s 01516047894537 07.09.2016 01516047894537 08.09.2016 
s 01516047894538 07.09.2016 01516047894538 08.09.2016 
n        01516047894539 08.09.2016 

고유 한 ID와 날짜를 기반으로 개체가 내 창고에서 이동했는지 확인하려고합니다. 내 주요 문제는이 모든 데이터가 하나의 테이블에 저장된다는 것입니다. 위의 간단한 예제를 만들었습니다. 우선 (s = 체재, m = 밖으로 이사, n = 창고 신규). 나는 밖으로 나가는 모든 물건을 찾아야합니다. 나는 실제로 머물러 있고 NOT IN을 사용하는 모든 객체를 찾으려고 노력했지만, 새로운 객체를 추가 할 수는 없습니다. 그건 내 시도 :창고에있는 물체가 밖으로 나가거나, 머물렀거나, 새 것이 었는지 확인하십시오. 두 변수를 기반으로

select y.id 
from warehouse y 
INNER JOIN warehouse t 
ON (y.date != t.date AND y.id= t.id) 

내가 01516047894539 ID를 놓친 거지, 내가 간단한 방법이 있는지,하지만 나는 그것을 볼 수 없습니다.

답변

0


그냥 y.date = 널 (null)이이 아무것도 반환하지

+0

당신에게 도움이 될 것입니다

select y.id from warehouse y JOIN warehouse t ON y.date != t.date AND y.id= t.id AND y.id= null ; 

조건이, 나 또한 노력 사용 또는 y.id = null이 있지만, 내 옛날 솔루션으로 그 같은 결과 . 어떤 조건도없이 내부 조인을 검사했는데 null 필드가 전혀 없으며 같은 테이블을 사용하고있을 수 있습니까? –

+0

내부 조인을 제공하는 대신 조인을 지정하십시오. –

+0

또한 작동하지 않지만 "y.id = t.id 및 y.id = null"; 결코 사실 일 수 없다. –