получать детали с предыдущей даты - PullRequest
0 голосов
/ 08 июля 2019

У меня есть таблица, которая отслеживает активы в другой точке, но мне нужно выяснить, когда актив входит в точку 4. Мне нужно знать, когда он был в последний раз замечен в точке 1.

Я пытался получить максимальную дату, когда актив находится в точке 1, а дата <, чем дата в точке 4, но безрезультатно. </p>

with CTE as 
( select distinct TAG, UID_KEG, CONVERT(VARCHAR(10),Movement_date,105) as 
Inbound, L.CAPTION 
from MOVEMENT M1
inner join KEG K on M1.UID_KEG = K.UNIQUE_ID
inner join STATION S on M1.UID_STATION = S.UNIQUE_ID
Inner join LOCATION L on S.UID_LOCATION = L.UNIQUE_ID
where DATEPART(year,movement_date) = '2019'
and DATEPART(Month,MOVEMENT_DATE) = '07'
and UID_MOVEMENT_TYPE = 4
)
select CTE.TAG, CTE.Inbound, 
MAX(Convert(VARCHAR(10),M2.MOVEMENT_DATE,105)) as 'Last Seen'
from MOVEMENT M2
Inner join CTE on M2.UID_KEG = CTE.UID_KEG
inner join KEG K2 on M2.UID_KEG = K2.UNIQUE_ID
inner join STATION S2 on M2.UID_STATION = S2.UNIQUE_ID
Inner join LOCATION L2 on S2.UID_LOCATION = L2.UNIQUE_ID
where UID_MOVEMENT_TYPE = 1
and   Convert(VARCHAR(10),M2.MOVEMENT_DATE,105) < Inbound
group by CTE.TAG, CTE.Inbound

В идеале я хотел бы получить список тегов активов, дату в точке 4, а затем дату в точке 1, которую я затем смогу связать с другими таблицами и собрать дополнительную информацию.

TAGID, Point 4, Point 1
1234, 06/07/2019, 10/03/2019
45678, 5/04/2019, 01/12/2018
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...