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
执行完成但出现错误。
结果:
near "CASE": syntax error At line 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,按照以下条件并按降序排列类别:a.如果类别是 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
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
执行完成但出现错误。 结果:
near "CASE": syntax error At line 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,按照以下条件并按降序排列类别:a.如果类别是 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