-
Здравствуйте. Направьте мои мысли в нужное русло.
Таблица продаж. CREATE TABLE SALES ( ID INTEGER NOT NULL, DEVICE INTEGER, CODE BIGINT, CDAY DATE, COUNTSALE INTEGER );
Таблица товаров. CREATE TABLE PRODUCT ( ID INTEGER NOT NULL, DEVICE INTEGER, CODE BIGINT, CDAY DATE, NAME VARCHAR(20) COLLATE PXW_CYRL );
Задача: отобразить таблицу SALES добавив название товара (поле NAME). Но не всё так просто, нужно смотреть на дату в таблице PRODUCT.
Данные, чтобы стало яснее. Таблица SALES 1 111 482001 01/12/10 2 2 111 482001 02/12/10 1 3 111 482001 03/12/10 1 4 111 482001 04/12/10 2
Таблица PRODUCT 1 111 482001 01/12/10 журн.Лиза№35 2 111 482001 03/12/10 журн.Лиза№36 В итоге должно получиться так: 1 111 482001 01/12/10 2 журн.Лиза№35 2 111 482001 02/12/10 1 журн.Лиза№35 3 111 482001 03/12/10 1 журн.Лиза№36 4 111 482001 04/12/10 2 журн.Лиза№36
Как быть? Создать третью таблицу (но что она даст?) или лучше и оптимальнее сделать всё в хранимой процедере? Предполагаю, что записей много будет и нужно оперативно отображать запрос.
-
Select S. ..., P. ....
from Sales S left join Products P on (....)
order by ....
|