列总和在联接中不起作用 table PHP

Sum of column is not working in join table PHP

我正在尝试根据 table1table2 计算 req_qtyin_qty。 我正在尝试获取连接的 3 tables 数据 SUM(req_qty)SUM(in_qty)。如果 req.qty 没有保存在 table2 中,问题就来了,它将不起作用。我被这个 sku's ids

加入了 table

我在这里做了一个非常简单的 table 来计算列的总和。通常,列的总和乘以总行。 请不要关闭其他线程的 post 和公会。为了澄清我的疑问,我在这里做了一个我能理解的 table 。请帮助。

table1

ID  |  sku_1 | req_qty | trans_id
----------------------------------
1   |  123   | 150     | 12345
2   |  142   | 200     | 256314
3   |  123   | 100     | 896523

table2

ID  | sku_2  | in_qty  | trans_key
-----------------------------------
1   | 142    | 50      | 002563

table3

ID |  sku_code  |  sku_name
--------------------------
1  | 142        |  ABC
2  | 123        |  XYZ

预期输出

ID | sku | sku_name | reqQty | inQty 
------------------------------------
1  | 123 | XYZ      | 250    | 0        
2  | 142 | ABC      | 200    | 50

当table1和table2为空时编辑为select数据

SELECT table1.id, table3.sku_code as sku, table3.sku_name, 
       sum(table1.req_qty) as reqQty, sum(table2.in_qty) as inQty
  FROM table3
  LEFT JOIN table1 on table3.sku_code = table1.sku_1
  LEFT JOIN table2 on table3.sku_code = table2.sku_2
  GROUP BY table1.id, table3.sku_code, table3.sku_name

说明

您可以在此处查看有关左连接如何工作的解释 https://www.w3schools.com/sql/sql_join_left.asp#:~:text=The%20LEFT%20JOIN%20keyword%20returns,if%20there%20is%20no%20match

但是为了快速解释这个查询,我们将 select 来自 table3 的所有数据,left join 将查找来自左侧 table 的所有记录(这里 table3 ) 和右边 tables 的数学运算记录(此处 table2 和 table 1)。