Я хочу создать представление, в котором я хотел бы получить список предметов, которые не проданы за последние 6 месяцев. Я пробовал несколько подходов, но никто не работает правильно. Прошу вас, пожалуйста. У меня есть одна таблица для торгового массива данных, у которой нет элемента, и я получаю элемент no из другой таблицы, которая является таблицей элементов для списка всех элементов. вот 2 подхода: Я не могу создавать временные таблицы, так как это представление?sql просмотреть товары, не проданные за последние 6 месяцев
select distinct a.ItemID, a.TranDate Into #Itemslast6months
from SalesDataMart a
where TranDate >= Dateadd(Month, Datediff(Month, 0, DATEADD(m, -6, current_timestamp)), 0)
Select distinct m.ITMNO_0 into #ItemsNotSoldLast6Months
from ITEMMASTER as m
Where not exists (select ItemID
from #Itemslast6months as B
where m.ITMNO_0 = B.ItemID)
Select n.ITMNO_0, s.[Description], max(s.TranDate) last_Transaction_Date
from #temsNotSoldLast6Months n
join SalesDataMart s on n.ITMNO_0 = s.ItemID
group by n.ITMNO_0, s.[Description]
второй подход:
WITH ItemsSoldLast6Months (ItemID, TranDate)
AS
(
select distinct a.ItemID, a.TranDate
from SalesDataMart a
where TranDate >= Dateadd(Month, Datediff(Month, 0, DATEADD(m, -6, current_timestamp)), 0)
)
WITH ItemsNotSoldLast6Months (ItemNO)
AS
(
Select distinct m.ITMNO_0
from ITEMMASTER as m
Where not exists (select ItemID
from ItemsSoldLast6Months as B
where m.ITMNO_0 = B.ItemID)
)
Select n.ITMNO_0, s.[Description], max(s.TranDate) last_Transaction_Date
from #temsNotSoldLast6Months n
join SalesDataMart s on n.ITMNO_0 = s.ItemID
group by n.ITMNO_0, s.[Description]
Спасибо, так как мне это нужно для отчета, который будет работать ежемесячно, если я создаю настоящий table, тогда мне нужно добавить инструкцию drop table перед запуском инструкции? – user3347312