目标
在一个列表中,我需要为每个项目获得尽可能低的价格。
问题
为了获得产品的最低价格,我使用这个:
ROUND(CAST(MIN(`map`.`Product_Original_Price`) AS DECIMAL)/100,2) as `minProductPrice`
但是,我想检查这个产品是否有Product_Promotional_Price
(同一张表中的另一列)。如果是,请检查它是否低于Product_Price
原价。
不管结果如何,minProductPrice
如前所示返回。
所以我问:哪个查询将这个问题变成了解决方案?
额外细节
由于缺乏细节而感到抱歉。我的应用程序旨在比较产品价格。因此,有一个返回产品列表的存储过程。结果是:
但是Product_Promotional_Price
ofLava Roupas em Pó Omo Progress
是5,50
并且如您所见,低于Product_Original_Price
。当这样的事情发生时,我想得到Product_Promotional_Price
而不是 Product_Original_Price
.
更多细节
为了说明我的问题:
第 1 行
Product_Id
= 1Product_Name
=“iPhone 5”Market_Name
=“沃尔玛”Product_Original_Price
= "359.00"Product_Promotional_Price
= "319.00"第 2 行
Product_Id
= 1Product_Name
=“iPhone 5”Market_Name
=“苹果”Product_Original_Price
= "359.00"Product_Promotional_Price
= "0.00"第 3 行
Product_Id
= 1Product_Name
=“iPhone 5”Market_Name
=“百思买”Product_Original_Price
= "359.00"Product_Promotional_Price
= "299.00"
所以,当我调用我的程序时,minProductPrice
foriPhone 5
是299.00
, by BestBuy
。
现在大家能明白了吗?