table 中的 SUM 值,并将其减去具有相同 ID 的另一个 table 中的值的 SUM
SUM values from a table and subtract it to a SUM of values from another table having the same IDs
我有两个表,inventory_tbl和withdrawal_tbl,都有product_id,数量和金额。我想将 inventory_tbl 的所有数量相加,并将其减去 withdrawal_tbl 中两个表具有相同 product_id 的所有数量的总和。意义;
inventory_tbl
product_id | quantity | amount
1 | 10 | 10000
2 | 20 | 20000
3 | 30 | 30000
withdrawal_tbl
product_id | quantity | amount
1 | 5 | 5000
2 | 10 | 10000
3 | 20 | 20000
Remaining_tbl
product_id | quantity | amount
1 | 5 | 5000
2 | 10 | 10000
3 | 10 | 10000
到目前为止,我有这个 SQL 声明,但它给了我错误的信息
"SELECT inventory_tbl.product_id As 'Product ID', SUM(inventory_tbl.quantity) - SUM(withdrawal_tbl.quantity), SUM(inventory_tbl.total) - SUM(withdrawal_tbl.total)
FROM withdrawal_tbl, inventory_tbl GROUP BY inventory_tbl.product_id"
谢谢!
对所需的输出使用内部联接,试试这个:
"SELECT inventory_tbl.product_id As 'Product ID', SUM(inventory_tbl.quantity) - SUM(withdrawal_tbl.quantity), SUM(inventory_tbl.total) - SUM(withdrawal_tbl.total)
FROM inventory_tbl INNER JOIN withdrawal_tbl on inventory_tbl.product_id =withdrawal_tbl.product_id group by inventory_tbl.product_id;"
问题是您正在执行叉积而不是内部联接。
将您的查询更改为类似这样的内容
"SELECT inventory_tbl.product_id As 'Product ID', SUM(inventory_tbl.quantity) - SUM(withdrawal_tbl.quantity), SUM(inventory_tbl.total) - SUM(withdrawal_tbl.total)
FROM withdrawal_tbl inner join inventory_tbl on inventory_tbl.product_id = withdrawal_tbl.product_id GROUP BY inventory_tbl.product_id"
我有两个表,inventory_tbl和withdrawal_tbl,都有product_id,数量和金额。我想将 inventory_tbl 的所有数量相加,并将其减去 withdrawal_tbl 中两个表具有相同 product_id 的所有数量的总和。意义;
inventory_tbl
product_id | quantity | amount
1 | 10 | 10000
2 | 20 | 20000
3 | 30 | 30000
withdrawal_tbl
product_id | quantity | amount
1 | 5 | 5000
2 | 10 | 10000
3 | 20 | 20000
Remaining_tbl
product_id | quantity | amount
1 | 5 | 5000
2 | 10 | 10000
3 | 10 | 10000
到目前为止,我有这个 SQL 声明,但它给了我错误的信息
"SELECT inventory_tbl.product_id As 'Product ID', SUM(inventory_tbl.quantity) - SUM(withdrawal_tbl.quantity), SUM(inventory_tbl.total) - SUM(withdrawal_tbl.total)
FROM withdrawal_tbl, inventory_tbl GROUP BY inventory_tbl.product_id"
谢谢!
对所需的输出使用内部联接,试试这个:
"SELECT inventory_tbl.product_id As 'Product ID', SUM(inventory_tbl.quantity) - SUM(withdrawal_tbl.quantity), SUM(inventory_tbl.total) - SUM(withdrawal_tbl.total)
FROM inventory_tbl INNER JOIN withdrawal_tbl on inventory_tbl.product_id =withdrawal_tbl.product_id group by inventory_tbl.product_id;"
问题是您正在执行叉积而不是内部联接。
将您的查询更改为类似这样的内容
"SELECT inventory_tbl.product_id As 'Product ID', SUM(inventory_tbl.quantity) - SUM(withdrawal_tbl.quantity), SUM(inventory_tbl.total) - SUM(withdrawal_tbl.total)
FROM withdrawal_tbl inner join inventory_tbl on inventory_tbl.product_id = withdrawal_tbl.product_id GROUP BY inventory_tbl.product_id"