У меня есть таблица, которая содержит названия различных продуктов, таких как;
ItemName
1 FRESH BREAD
2 FRESH TOMATO
3 FRESH POTATO
И у меня есть еще две таблицы, в которых расположены некоторые другие данные, и я присоединяю их к этому запросу;
select shipment.RutPlanId
,shipment.ShipmentDateTime
,shipment.DeliveryLocationName
,shipment.Quantity
from TABLE_SHIPMENT as shipment
left join TABLE_ITEM as item on item.No_ = shipment.ItemNo
where shipment.RutPlanId = 2 and item.Description like '%FRESH%'
И результат запроса объединения:
RutPlanId ShipmentDateTime DeliveryLocationName ItemName Quantity
1 2 2020-03-11 00:00:00.000 ZONGULDAK FRESH BREAD 110
2 2 2020-03-11 00:00:00.000 KANYON FRESH TOMATO 189
Я хочу объединить первую таблицу названий продуктов с результатом вышеупомянутых объединенных таблиц и получить другой результат, подобный этому;
RutPlanId ShipmentDateTime DeliveryLocationName ItemName Quantity
2 2020-03-11 KANYON FRESH BREAD 0
2 2020-03-11 KANYON FRESH POTATO 0
2 2020-03-11 KANYON FRESH TOMATO 189
2 2020-03-11 ZONGULDAK FRESH BREAD 110
2 2020-03-11 ZONGULDAK FRESH POTATO 0
2 2020-03-11 ZONGULDAK FRESH TOMATO 0
Чтобы получить результат, указанный выше, я попытался написать запрос
select RootInfo.RutPlanId
,RootInfo.ShipmentDateTime
,RootInfo.DeliveryLocationName
,product.ItemName
,ISNULL(shipment.Quantity,0) Quantity
--select vt.Type
from TABLE_PRODUCT_NAMES as product
left join TABLE_ITEM as item on item.ItemName = product.ItemName
left join TABLE_SHIPMENT as shipment on shipment.ItemNo = item.No_ and otm.RutPlanId = 2
outer APPLY(
select *
from TABLE_SHIPMENT pl
where pl.RutPlanId= 2
)RootInfo
group by RootInfo.RutPlanId
,RootInfo.ShipmentDateTime
,RootInfo.DeliveryLocationName
,shipment.Quantity
,product.ItemName
Но приведенный выше запрос дает мне результат, который мне не нужен. Это дает что-то вроде этого:
RutPlanId ShipmentDateTime DeliveryLocationName ItemName Quantity
2 2020-03-11 KANYON FRESH BREAD 0
2 2020-03-11 KANYON FRESH POTATO 110
2 2020-03-11 KANYON FRESH TOMATO 189
2 2020-03-11 ZONGULDAK FRESH BREAD 0
2 2020-03-11 ZONGULDAK FRESH POTATO 110
2 2020-03-11 ZONGULDAK FRESH TOMATO 189
Как мне достичь своей цели и что я должен исправить в моем последнем запросе? Заранее спасибо.