Ссылка на другую таблицу для проверки записей в диапазоне дат

falling_up спросил: 13 октября 2017 в 07:07 в: mysql

Я работаю с серией транзакций и инвентаризацией. Моя цель - создать флаг, чтобы узнать, получила ли компания за 5 дней до транзакции отгрузку товара для этого товара. Псевдо логика выглядит следующим образом:

For each transaction date: 
   For all inventory receipts whether inventory.item# = transaction.item#
       Are there records between transaction date - 5 and transaction date?

Обычно я просто создаю две таблицы и объединяю их, но на самом деле это две отдельные структуры данных. Моя первоначальная попытка:

PROC SQL;
   Create Table TABLE 1 AS 
         SELECT TRANSACTION.DATE, 
                SUM(CASE WHEN INVENTORY.DATE BETWEEN (TRANSACTION.DATE - 5 AND TRANSACTION.DATE) AND INVENTORY.ITEM = TRANSACTION.ITEM;

Но как мне ссылаться на таблицы? Я не уверен, что левые / правые / внутренние соединения здесь уместны. Я действительно не пытаюсь присоединиться к таблицам, не так ли?

РЕДАКТИРОВАТЬ: мои данные структурированы следующим образом:

TRANSACTION TABLE ITEM DATE
0012 12/2
0231 12/3
0421 12/3 INVENTORY TABLE 0012 11/30
0231 12/4
0421 12/1

Для ПУНКТА 0012 мы посмотрел бы таблицу инвентаризации и увидел бы, что 31/30 для этого товара была квитанция, так что это будет flag = 1. Для товара 0231 мы видим, что в течение пяти дней после транзакции не было рецепта инвентаризации, поэтому = 0.

0 ответов