目标
在一个列表中,我需要为每个项目获得尽可能低的价格。
问题
为了获得产品的最低价格,我使用这个:
ROUND(CAST(MIN(`map`.`Product_Original_Price`) AS DECIMAL)/100,2) as `minProductPrice`
但是,我想检查这个产品是否有Product_Promotional_Price(同一张表中的另一列)。如果是,请检查它是否低于Product_Price原价。
不管结果如何,minProductPrice如前所示返回。
所以我问:哪个查询将这个问题变成了解决方案?
额外细节
由于缺乏细节而感到抱歉。我的应用程序旨在比较产品价格。因此,有一个返回产品列表的存储过程。结果是:

但是Product_Promotional_PriceofLava 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"
所以,当我调用我的程序时,minProductPriceforiPhone 5是299.00, by BestBuy。
现在大家能明白了吗?