Мне нужно найти торговые точки, которые работали в мае или перестали работать в июне.
У меня есть запрос SQL вроде:
select *
from
(select a.OL_id [Kod], d.Year, d.Month, OLRegion_name, OLDistrict_name, OLCntArea_name, OLCity_name, a.RM_name, a.DSM_Name, a.Supervisor_name, a.MerchName, SUM(s.SaleDal) [Sales]
from DW_Cube_Area a
join DW_Cube_Fact_Sale s on a.Area_Id=s.Area_Id
join DW_Cube_Time d on d.Date_Id=s.Date_Id
join DW_Cube_SKU p on s.SKU_Id=p.SKU_Id
where d.Date between '20180501' and '20180531'
and a.StartDate between '20180501' and '20180531'
and a.PID=0 and s.PID=0
and p.ProdGroupName Not Like 'Напої'
and p.UnitName Like 'кег'
group by d.Year, d.Month, a.OL_id, a.RM_name, a.DSM_Name, a.Supervisor_name, a.MerchName, OLRegion_name, OLDistrict_name, OLCntArea_name, OLCity_name
having ABS(SUM(s.SaleDal))>0.1) tb1
left join
(select a.OL_id [Kod], d.Year, d.Month, OLRegion_name, OLDistrict_name, OLCntArea_name, OLCity_name, a.RM_name, a.DSM_Name, a.Supervisor_name, a.MerchName, SUM(s.SaleDal) [Sales]
from DW_Cube_Area a
join DW_Cube_Fact_Sale s on a.Area_Id=s.Area_Id
join DW_Cube_Time d on d.Date_Id=s.Date_Id
join DW_Cube_SKU p on s.SKU_Id=p.SKU_Id
where d.Date between '20180601' and '20180630'
and a.StartDate between '20180601' and '20180630'
and a.PID=0 and s.PID=0
and p.ProdGroupName Not Like 'Напої'
and p.UnitName Like 'кег'
group by d.Year, d.Month, a.OL_id, a.RM_name, a.DSM_Name, a.Supervisor_name, a.MerchName, OLRegion_name, OLDistrict_name, OLCntArea_name, OLCity_name
having ABS(SUM(s.SaleDal))>0.1) tb2
on
t1.Kod = t2.Kod
where
t2.Kod is null
Когда я выполняю этот запрос, результат ошибки:
Не удалось связать многокомпонентный идентификатор "t1.Kod".
Не удалось связать многоэлементный идентификатор "t2.Kod".
Почему?
Если я разделю запрос на 2 отдельных запроса, он будет работать нормально.