簡體   English   中英

MYSQL select 數據來自兩個有條件的表

[英]MYSQL select data from two tables with conditions

所以我基本上得到了一個任務,即創建一個查詢來檢索總訂單作為 Number_Of_Order 和所有訂單的總銷售額作為 Total_Sales_Amount。 我的主要問題是為 Normal 和 Promotion 創造條件。

訂單表

訂單號 銷售類型
10 普通的
12 促銷
13 普通的
14 促銷
15 普通的
16 促銷

訂單_產品表

訂單_產品_ID 訂單號 正常價格 促銷_價格
100 10 50 25
101 12 100 80
102 12 60 50
103 13 40 20
104 14 50 25
105 15 40 30
106 15 300 250
107 16 150 100
108 16 75 60

預期結果:

Number_Of_Order 訂單號 Total_Sales_Amount
Order 表 6 中的 Order_ID 總數 根據 Sales_type 價格從 Orders_Products 表中獲得的總銷售額

使用連接和CASE表達式來使用正確的價格。

SELECT COUNT(DISTINCT o.Order_ID) AS Number_Of_Order,
       SUM(CASE WHEN o.Sales_Type = 'Normal'
                THEN op.Normal_Price ELSE op.Promotion_Price END) AS Total_Sales_Amount
FROM Orders o
LEFT JOIN Orders_Products op
    ON op.Order_ID = o.Order_ID;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM