Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Các câu lệnh CASE lồng nhau trong MySQL

Bạn đang thiếu THEN trong CASE đầu tiên của bạn Tuyên bố. ( xin lỗi, tôi phải thêm bí danh bảng )

SELECT sc.session_id
    , sc.product_id
    , sc.product_qty
    , sc.product_option
    , p.product_title
    , p.product_price
    , p.product_sale_price_status
    , p.product_sale_price
    , po.option_text
    , po.option_upcharge
    , CASE
        WHEN (p.product_sale_price_status = 'Y')
        THEN <-- add this
            CASE
            WHEN (po.option_upcharge IS NOT NULL)
                THEN (sc.product_qty * (p.product_sale_price + po.option_upcharge)) 
                ELSE (sc.product_qty * p.product_sale_price)    
            END
        ELSE
            CASE
            WHEN (po.option_upchage IS NOT NULL)
                THEN (sc.product_qty * (p.product_price + po.option_upcharge))
                ELSE (sc.product_qty * p.product_price)
            END
        END AS product_total
FROM tblshopping_cart sc
INNER JOIN tblproducts p
    ON sc.product_id = p.product_id
LEFT JOIN tblproduct_options po
    ON sc.product_option = po.option_product_id
ORDER BY sc.product_qty ASC


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tính toán phần trăm trong MySQL dựa trên tổng số

  2. Định dạng ngày thành định dạng con người có thể đọc được

  3. Cách nhận bản ghi đầu tiên trong mỗi nhóm trong MySQL

  4. MySQL lồng nhau Chọn có thể trả về danh sách kết quả không

  5. Golang, mysql:Lỗi 1040:Quá nhiều kết nối