簡體   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