這裏連接至第二表中的表中的值是表的簡化列表&它們的列:SUM從經由第三個表
Table: Sub_Jobs
Columns: ID
Table: Cargo
Columns: ID | Size
Table: Cargo_Assignment
Columns: ID | Sub_Job_ID | Cargo_ID
貨物被創建並在給定大小的值(數值) 。然後通過在Cargo_Assignment表中創建一個行,將其分配給一個子作業。
我需要返回所有Sub_Jobs ID的列表以及分配給該子Sub_Job(通過Cargo_Assignment表)的貨物的Cargo.Size的總和。
下面是一些樣本數據:
Table: Sub_Jobs
ID
1
2
3
Table: Cargo
ID Size
1 3.5
2 1.2
3 0.5
4 1.8
Table: Cargo_Assignment
ID Sub_Job_ID Cargo_ID
1 1 3
1 1 1
1 2 4
和所需的查詢結果:
Sub_Job_ID Total_Size
1 4
2 1.8
3 0
MySQL是非常我的弱點,和我真的有這樣一個掙扎。我試了幾個小時纔得到這個工作,用不同的連接&子查詢等,但我不能包裹我的頭。
這是我試過的一個查詢,但它只返回一個結果:
SELECT Sub_Jobs.ID, SUM(Cargo.Size) as Total_Size
FROM Sub_Jobs
INNER JOIN Cargo_Assignment ON Cargo_Assignment.Sub_Job_ID = Sub_Jobs.ID
INNER JOIN Cargo ON Cargo.ID = Cargo_Assignment.Cargo_ID
你需要一個[GROUP BY子句(https://開頭開發.mysql.com/doc/refman/5.7/en/group-by-handling.html):'GROUP BY Sub_Jobs.ID' –