Sql server 如何计算SQL Server过程中的百分比
Sql Server 2014 表Sql server 如何计算SQL Server过程中的百分比,sql-server,tsql,stored-procedures,Sql Server,Tsql,Stored Procedures,Sql Server 2014 表Pricelist有三列:Id、StoreId(Sid)、Price Data format Id Sid Price 1 12 $4 1 16 $2 2 12 $6 2 16 $10 我想做的是有一个程序来比较商店12的价格和商店16的价格,如果一个商店的单个商品价格比另一个商店的便宜,那么计算节省百分比,并插入到一个单独的表中或价格列旁边的节省列中 下面的SQL代码显示了%的节省,但我不确定是否以最有效的方式进
Pricelist
有三列:Id、StoreId(Sid)、Price
Data format
Id Sid Price
1 12 $4
1 16 $2
2 12 $6
2 16 $10
我想做的是有一个程序来比较商店12的价格和商店16的价格,如果一个商店的单个商品价格比另一个商店的便宜,那么计算节省百分比,并插入到一个单独的表中或价格列旁边的节省列中
下面的SQL代码显示了%的节省,但我不确定是否以最有效的方式进行
select distinct p1.[Store id],
case when p1.Price>p2.Price then (100*(p1.Price-p2.Price)/p1.Price)
else (100*(p2.Price-p1.Price)/p2.Price)
end as Saving
from Prices$ p1
join Prices$ p2
on p1.[Item Id]=p2.[Item Id]
请给我一些建议
多谢各位
RG您希望在末尾添加
和p1.[store id]p2.[store id]
,这样您就不会比较同一个门店。你不知道另一家商店是什么。这重要吗?另外,distinct
是额外的工作。确定你是否真的需要它。最好使用p1.[store id]@PanagiotisKanavos这个逻辑p1.[store id]