Я написал следующий запрос для извлечения стоимости единицы измерения из другой таблицы COSreport
в свой запрос на прибыльность ProfitabilityReport
, и у меня возникла проблема с моим подзапросом.
select
i.tranid
, it.item_id
, it.displayname
, tl.Item_Count * -1 Unit_Qty
, case when tl.Item_Count=0 then 0
else ((tl.GROSS_AMOUNT * -1)/ Item_Count) * -1
end as PricePerUnit,
**(select sum(c.tranamt) from ns.COSreport c
inner join ns.ProfitabilityReport d
on c.InvoiceID = d.tranid
and c.item_id = d.item_id) as 'True Cost'**
, '0' 'Cost Per M'
from ns.tinvoice i
join ns.transaction_lines tl on i.transaction_id = tl.transaction_id
join ns.Customers cust on c.customer_id = i.ENTITY_ID
join ns.items it on it.item_id = tl.item_id
left join ns.ITEM_CLASSIFICATION it_class on it_class.list_id =
it.ITEM_CLASSIFICATION_ID
where list_item_name IS NOT NULL
and i.tranid = '1262INV'
Я присоединяюсь как к invoice id
, так и к item id
, так что для данного счета-фактуры и предмета из COSReport
определяется правильная стоимость.
Однако истинная стоимость не определяется стоимостью единицы, а суммирует поле стоимости для всей таблицы.
См. Ниже, например, использование счета # 1262INV, указанного в запросе выше.Стоимость должна составлять 1,04, 0,26 и 4 соответственно против 138 м.
Любая помощь в получении этой информации будет оценена