У меня есть звездообразная схема с транзакциями в виде таблицы фактов.
Для каждого списка продуктов количество, проданное поставщиками в Мэдисоне потребителям в Чикаго, и количество, проданное поставщиками в Чикаго потребителям в Мадисоне (столбцы результата: название продукта, количество Madison_Chicago, количество Chicago_Madison)
Я пытался пересечь и объединить все
SELECT
P.Name as Product
, SUM(T.Quantity) as QMad
, dbo.Tb_Consumer C
, dbo.Tb_Supplier S
, dbo.Tb_Transactions T
where P.Prod_ID = T.Prod_ID
and C.Con_ID = T.Con_ID
and S.Supp_ID = T.Supp_ID
and S.City = 'Madison'
and C.City = 'Chicago'
from dbo.Tb_Product P
group by P.Name
union all
SELECT P.Name as Product
, sum(T.Quantity) as QCHI
from dbo.Tb_Product P
, dbo.Tb_Consumer C
,dbo.Tb_Supplier S
,dbo.Tb_Transactions T
where P.Prod_ID = T.Prod_ID
and C.Con_ID = T.Con_ID
and S.Supp_ID = T.Supp_ID
and S.City = 'Chicago'
and C.City = 'Madison'
group by P.Name
Ожидается следующее
Product chi_qy Mad_qy
-------------------------
Auto 3 2
но я получаю
Product chi_qy
-----------------
Auto 3
Auto 2