1
我有表产品与attr:Id, discount_pct, price, number_of_sold
。可以是null
。从列空选择另一个选择
我试图让选择查询总结discount_pct * price * number_of_sold
,如果discount_pct
不为空,否则,总和price * number_of_sold
我有表产品与attr:Id, discount_pct, price, number_of_sold
。可以是null
。从列空选择另一个选择
我试图让选择查询总结discount_pct * price * number_of_sold
,如果discount_pct
不为空,否则,总和price * number_of_sold
这听起来像你想
SUM(coalesce((1 - discount_pct/100) * price, price) * number_of_sold)
假设discount_pct
是0和之间的值100(即20表示20%的折扣)。如果discount_pct
为非NULL或为NULL,则(1 - discount_pct/100) * price
将计算折扣价格。3210返回列表中的第一个非NULL值。因此,如果可以计算出完整的表达式,则返回折扣价格;如果它不能乘以销售数量,则返回价格。
令人惊叹。谢谢 – ivanz 2014-12-19 02:57:28