[英]How to use case statements in mysql using joins?
我正在從事產品和類別以及產品折扣的工作。 我已經做了產品折扣。 但是問題出在計算category_discount。 這是我的代碼:
SELECT products.id, products.product_name, products.product_price, products.product_discount, categories.category_discount,
(CASE WHEN products.product_discount = 0 THEN products.product_price
WHEN products.product_discount != 0 THEN products.product_price - ( products.product_price * products.product_discount)/100
WHEN categories.category_discount !=0 THEN products.product_price - ( products.product_price * categories.category_discount)/100
END) AS amount
FROM products
join
categories
on products.category_id = categories.id
然后按順序評估“當”語句,直到滿足。 在第一行中,第一個“從句”得到滿足,因此沒有折扣。 請嘗試以下方法:
WHEN products.product_discount = 0 AND categories.category_discount = 0 THEN products.product_price
甚至像這樣重新排序:
SELECT products.id, products.product_name, products.product_price, products.product_discount, categories.category_discount,
(CASE WHEN products.product_discount != 0 THEN products.product_price - ( products.product_price * products.product_discount)/100
WHEN categories.category_discount !=0 THEN products.product_price - ( products.product_price * categories.category_discount)/100
ELSE products.product_price
END) AS amount
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.