Убедитесь, что объект на складе перемещен, остался или является новым. На основании двух переменных

    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  

Я пытаюсь выяснить, переместился ли объект с моего склада на основе уникального идентификатора и даты. Моя главная проблема заключается в том, что все эти данные хранятся в одной таблице. Я сделал простой пример выше. Прежде всего (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, я уверен, что есть простой способ, но я не вижу его.

1 ответ


Просто используйте y.date = нулевое условие

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

Это поможет вам

Другие вопросы по тегам