У меня есть данные о доставке с несколькими записями для каждого номера отслеживания и даты, и я хочу создать временную таблицу, которая идентифицирует правильную первую дату. Большую часть времени номер отслеживания имеет описание порядка «происхождения», которое я хочу использовать, но бывают случаи, когда его нет, и поэтому я хочу получить только первую дату, которая у меня есть.
Тем не менее, этот код ниже выбивает минимальную дату для каждого event_status_description
, что не то, что я хочу. Цель - одна запись OrderTrack
и event_date_time
на номер отслеживания. Так что если event_status_description like '%origin%'
, тогда верните дату, в противном случае возьмите минимальную дату для всего этого OrderTrack
.
SELECT Distinct (RTRIM(trackingnumber) + LTRIM(CAST(intmontyorderid AS varchar))) AS OrderTrack,
CASE
WHEN event_status_description like '%origin$' THEN event_date_time
ELSE MIN(event_date_time)
END AS OriginDate
INTO #OriginTable
FROM abookprod.dbo.tblUPStrackinghistory
GROUP BY trackingnumber, intmontyorderid, event_date_time, event_status_description