我正在尝试创建一个查询,该查询将允许我将单个图形拆分为多行。
例如,采购订单 x 可能有 15 个项目分配给它。例如,运费是 9.95。如何计算 9.95 的 1/15,然后用 1/15 的运费更新库存的成本价格?
因此,该项目的成本价格将从 4.50 增加到 5.16 (4.50 + 0.66)。
我正在尝试创建一个查询,该查询将允许我将单个图形拆分为多行。
例如,采购订单 x 可能有 15 个项目分配给它。例如,运费是 9.95。如何计算 9.95 的 1/15,然后用 1/15 的运费更新库存的成本价格?
因此,该项目的成本价格将从 4.50 增加到 5.16 (4.50 + 0.66)。
这是 SQL Server 的解决方案:
update ol
set price = price + 5.0 / ol.LineCount
from [Order] o
join (
select *
, count(*) over () as LineCount
from OrderLine
) ol
on o.ID = ol.OrderID
where o.OrderNr = 'Ord1';
如果您使用的是其他 DBMS,请更新您的帖子!
我创建了一个产品表并更新了商品的运费。希望这就是你要找的。
INSERT INTO [TravelAgentDB].[dbo].[Product]
([ID]
,[Name]
,[Price]
,[shippingPrice])
VALUES
(1,'Nexus 7' , 250 , 20),
(2,'Nexus 7 case' , 50 , 20),
(3,'Nexus 7 headphone' , 20 , 20)
GO
select * from product
Declare @itemsCount int
Select @itemsCount = count(*) From product where id in (1,2,3)
Declare @totalShippingPrice Decimal(18,2) = 9.95
Declare @shippingPriceperItem Decimal(18,2) = @totalShippingPrice / @itemsCount
Update Product
set [shippingPrice] = @shippingPriceperItem
Where id in (1,2,3)
select * from product