[英]SUM inside CASE in SQL
select product_class_code, product_id, product_desc, product_price, price as product_price
CASE product_class_code
WHEN 2050 THEN (price = product_price + 2000)
WHEN 2051 THEN (price = product_price + 500)
WHEN 2052 THEN (price = product_price + 600)
ELSE price as product_price
END
from PRODUCT
order by product_class_code;'
product_class_code
执行完成但出现错误。 结果:
“CASE”附近:语法错误在第 1 行:select product_class_code, product_id, product_desc, product_price, price as product_price CASE
此代码不起作用....任何建议都会有所帮助
根据以下条件编写查询以显示产品详细信息(product_class_code、product_id、product_desc、product_price),并按类别降序对它们进行排序: 如果类别是 2050,则将价格提高 2000 b. 如果类别为2051,则加价500 c。 如果品类为2052,则加价600。
case
内的分配是错误的。 删除它,你应该没问题:
CASE product_class_code
WHEN 2050 THEN (price + 2000)
WHEN 2051 THEN (price + 500)
WHEN 2052 THEN (price + 600)
ELSE price
END AS product_price
或者,既然您无论如何都需要price
,您可以从case
中提取价格,然后将case
用于您需要添加的额外费用:
price + CASE product_class_code
WHEN 2050 THEN 2000
WHEN 2051 THEN 500
WHEN 2052 THEN 600
ELSE 0
END
AS product_price
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.