select [order id]
,max(pallets) as pallets
,max([total cartons]) as [total cartons]
,max(units) as units
,max(sets) as sets
,max(GOH) as GOH
,max([Loose Cartons]) as [Loose Cartons]
,max([Loose Units]) as [Loose Units]
from (<insert query that got you the results with two records >
)
group by [order id]
select od.order_id,
sum(case when od.media_type = 'Loose Cartons' then qty else 0 end) as loose_cartons,
sum(case when od.media_type = 'Loose Units' then qty else 0 end) as loose_units
from order_details od
group by od.order_id;
create view SSDView_2ND_VB as
select
a.ORDER_ID
,max(case when b.MEDIATYPE_ID = '1' then b.ORDER_DETAIL_QUANTITY else null end) as [Pallets]
,max(case when b.MEDIATYPE_ID = '2' then b.ORDER_DETAIL_QUANTITY else null end) as [Cartons]
,max(case when b.MEDIATYPE_ID = '3' then b.ORDER_DETAIL_QUANTITY else null end) as [Sets]
from
SSDView_1ST_VB as a
left join ORDER_DETAIL as b
on a.ORDER_ID = b.ORDER_ID
group by a.ORDER_ID
3条答案
按热度按时间f8rj6qna1#
您只需对得到这些结果的查询执行聚合
vsaztqbk2#
你似乎只需要条件聚合
order_details
:tquggr8v3#
好的,伙计们。
因此,我不得不创建一个单独的表,只有订单号和3列托盘,纸箱和设置。
我必须用“max”而不是“sum”,否则数量会加倍。
所以我用的是:
ssdview\u 1st\u vb只是另一个只有“variable”媒体类型的视图。
我要感谢大家的帮助,真的很感谢大家^^