Поскольку это под PHP:
$queryString = "SELECT
SUM(stock_in.units) - SUM(stock_out.units) as difference
FROM
stock_in
INNER JOIN stock_out
ON stock_in.itemid=stock_out.itemid
WHERE stock_in.itemid = ".$value_to_query;
$result = mysql_query($queryString);
тесты:
create database sumgetter;
use sumgetter;
CREATE TABLE stock_in (
recid INT,
itemid INT,
units INT
);
CREATE TABLE stock_out (
recid INT,
itemid INT,
units INT
);
INSERT INTO stock_in VALUES (1, 1, 2);
INSERT INTO stock_out VALUES (1, 1, 3);
INSERT INTO stock_in VALUES (2, 2, 2);
INSERT INTO stock_out VALUES (2, 2, 2);
SELECT
SUM(stock_in.units) - SUM(stock_out.units) as difference
FROM
stock_in
INNER JOIN stock_out
ON stock_in.itemid=stock_out.itemid
WHERE stock_in.itemid = 1;
// Результат
+------------+
| difference |
+------------+
| -1 |
+------------+
1 row in set (0.00 sec)
Когда вы запрашиваете помощь при написании запросов к базе данных, вы должны пометить вопрос с помощью своей РСУБД. SQL - это SQL, но в реальном мире все запросы не выполняются на всех RDBMS - синтаксис и доступные функции различаются. –
Нет, не помещайте его словом «РСУБД». Пометьте те, с которыми вы используете систему управления реляционными базами данных - SQL Server, Sybase, Oracle, Postgres, MySQL и т. Д.? –
'sql' сам по себе все еще является допустимым тегом, если (1) вы хотите, чтобы поставщики-агностические решения или (2) вы хотите знать о« стандартном »SQL. – paxdiablo