2015-10-07 2 views
0

У меня есть две таблицы, inventory_tbl и withdraw_tbl, у обоих есть product_id, количество и сумма. Я хотел бы суммировать все количество inventory_tbl и вычесть его на сумму всего количества в файле withdraw_tbl, которые имеют одинаковый product_id для обеих таблиц. Имея в виду;Значения SUM из таблицы и вычесть его в SUM значений из другой таблицы с одинаковыми идентификаторами

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" 

Спасибо!

+0

Что ожидаемый результат, и что неверной информации вы получите? – MusicLovingIndianGirl

+2

Вы делаете кросс-продукт вместо использования внутреннего соединения – Viru

+0

inventory_tbl.total, как вы получаете это значение? – Rakin

ответ

2

Вы делаете крест продукт вместо внутреннего соединения, что является проблемой.

Изменить запрос на что-то вроде этого

"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" 
+0

Спасибо. Я понял! – Ibanez1408

0

использование Inner присоединиться к желаемым результатам, попробуйте следующее:

"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;" 
Смежные вопросы