kak соединить 2 таблицы
Добавлено: 26 ноя 2006, 09:35
Помогите пожалуйста соединить правельно
2 таблицы
Tab1: (Sales)
Item_Code / код_предмета
Item / предмет
SALE_Date / дата продажи
Quantity / кол-во
Tab2: (Price_list)
Item_Code / код_предмета
Item / предмет
Price / цена
Start_Date / дата последнего изменения цены цены могут менятся и раз в мецяц и раз в пару лет
пример таблицы Price_list:
в резултате чего получается:
а должна получить всего одну строчку, где price(цена) будет соответствовать date_sales(дате продажи)

2 таблицы
Tab1: (Sales)
Item_Code / код_предмета
Item / предмет
SALE_Date / дата продажи
Quantity / кол-во
Tab2: (Price_list)
Item_Code / код_предмета
Item / предмет
Price / цена
Start_Date / дата последнего изменения цены цены могут менятся и раз в мецяц и раз в пару лет
пример таблицы Price_list:
Item_Code … Item …. Price …. Start_date ….
340… .. BETA .. 3.72….. 01/01/1999
340… .. BETA .. 3.72….. 23/02/1999
340… .. BETA .. 4…….... 28/02/1999
340… .. BETA .. 4.2….… 20/02/2000
340… .. BETA .. 3.6….… 14/01/2001
340… .. BETA .. 3.25….. 06/01/2002
340… .. BETA .. 3.55….. 03/01/2005
340… .. BETA .. 3.8...…. 01/01/2006
Код: Выделить всё
SELECT DISTINCT
TOP 100 PERCENT dbo.SALES.ITEM_CODE, dbo.SALES.ITEM, dbo.SALES.SALE_DATE, Quantity
dbo.Price_LIST.PRICE, dbo.Price_LIST.START_DATE
FROM dbo.SALES INNER JOIN
dbo.Price_LIST ON dbo.SALES.ITEM_CODE = dbo.Price_LIST.ITEM_CODE AND
dbo.SALES.SALE_DATE >= dbo.Price_LIST.START_DATE
WHERE (dbo.SALES.SALE_DATE BETWEEN dbo.SALES.SALE_DATE AND dbo.Price_LIST.START_DATE)
item_code .............Quantity........date_sales...............Price.........Start_Date
340.......... BETA........ 180.......... 01/01/2003............... 3.72......... 01/01/1999
340.......... BETA........ 180.......... 01/01/2003............... 3.72......... 2/23/1999
340.......... BETA........ 180.......... 01/01/2003............... 4.............. 2/28/1999
340.......... BETA........ 180.......... 01/01/2003............... 4.2........... 2/20/2000
340.......... BETA........ 180.......... 01/01/2003............... 3.6........... 1/14/2001
340.......... BETA........ 180.......... 01/01/2003............... 3.25......... 01/06/2002
а должна получить всего одну строчку, где price(цена) будет соответствовать date_sales(дате продажи)
НЕПОЛУЧАЕТСЯitem_code .............Quantity........date_sales...............Price.........Start_Date
340.......... BETA........ 180.......... 01/01/2003............... 3.25......... 01/06/2002
