如何计算SQL Server过程中的百分比

时间:2016-03-02 10:05:28

标签: 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代码显示%节省,但我不确定我是否以最有效的方式执行此操作。

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

0 个答案:

没有答案