繁体   English   中英

SQL 中的 CASE 内的 SUM

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM