列总和在联接中不起作用 table PHP
Sum of column is not working in join table PHP
我正在尝试根据 table1
和 table2
计算 req_qty
和 in_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)。
我正在尝试根据 table1
和 table2
计算 req_qty
和 in_qty
。
我正在尝试获取连接的 3 tables 数据 SUM(req_qty)
、SUM(in_qty)
。如果 req.qty
没有保存在 table2
中,问题就来了,它将不起作用。我被这个 sku's ids
我在这里做了一个非常简单的 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)。