Я хочу создать запрос, который показывает номер доставки, идентификатор контейнера, номер отслеживания, место, куда он был перемещен в последний раз, во сколько он был перемещен и кто его переместил.
Вотвопрос.Мы недавно создали резервную копию или историю транзакций на другую таблицу для всего, что старше 30 дней.
Итак, у меня есть таблицаaction_history, которая дает мне все с сегодняшнего дня до 30 дней назад, и у меня есть таблица AR_transaction_history, которая даетмне все остальное (начиная с 31 дня назад.)
Мне нужно иметь возможность создавать подсказки для пользователя, чтобы ввести либо идентификатор контейнера, номер отслеживания, либо идентификатор доставки.
Мне нужна помощь в объединении двух таблиц для создания 1 таблицы со всеми записями.Я попытался объединить все, и он не работает с моими подсказками.Я попробовал заявление isnull, и это тоже не сработало.Вот код.
select
th.reference_id,
th.container_id 'Container ID',
sc.tracking_number 'Tracking Number',
max(th.DATE_TIME_STAMP) 'Time of Last Touch',
CASE
WHEN th1.date_time_stamp = max(th.DATE_TIME_STAMP) then th1.user_name
END AS 'User Name',
CASE
WHEN th1.date_time_stamp = max(th.DATE_TIME_STAMP) then th1.location
END AS 'Location'
from TRANSACTION_HISTORY th
inner join TRANSACTION_HISTORY th1 on th1.CONTAINER_ID = th.CONTAINER_ID
inner join SHIPPING_CONTAINER sc on sc.CONTAINER_ID = th.CONTAINER_ID
group by th.container_id, sc.tracking_number, th1.DATE_TIME_STAMP, th1.USER_NAME, th1.LOCATION, th.REFERENCE_ID
Having
CASE
WHEN th1.date_time_stamp = max(th.DATE_TIME_STAMP) then th1.user_name
END is not null
UNION ALL
select
th.reference_id,
th.container_id 'Container ID',
sc.tracking_number 'Tracking Number',
max(th.DATE_TIME_STAMP) 'Time of Last Touch',
CASE
WHEN th1.date_time_stamp = max(th.DATE_TIME_STAMP) then th1.user_name
END AS 'User Name',
CASE
WHEN th1.date_time_stamp = max(th.DATE_TIME_STAMP) then th1.location
END AS 'Location'
from AR_TRANSACTION_HISTORY th
inner join AR_TRANSACTION_HISTORY th1 on th1.CONTAINER_ID = th.CONTAINER_ID
inner join AR_SHIPPING_CONTAINER sc on sc.CONTAINER_ID = th.CONTAINER_ID
group by th.container_id, sc.tracking_number, th1.DATE_TIME_STAMP, th1.USER_NAME, th1.LOCATION, th.REFERENCE_ID
Having
CASE
WHEN th1.date_time_stamp = max(th.DATE_TIME_STAMP) then th1.user_name
END is not null