Mysql 如何从具有相同列的两个表中从一列中减去
所以我有两个表名为:Stock和Order 表:库存Mysql 如何从具有相同列的两个表中从一列中减去,mysql,sql,Mysql,Sql,所以我有两个表名为:Stock和Order 表:库存 +-----------+-----------+ | Item | Number | +-----------+-----------+ | A | 20 | | B | 7 | | C | 11 | | D | 13 | +-----------+-----------+ +-----------
+-----------+-----------+
| Item | Number |
+-----------+-----------+
| A | 20 |
| B | 7 |
| C | 11 |
| D | 13 |
+-----------+-----------+
+-----------+-----------+
| Item | Number |
+-----------+-----------+
| A | 12 |
| B | 5 |
| C | 6 |
| D | 4 |
+-----------+-----------+
表:订单
+-----------+-----------+
| Item | Number |
+-----------+-----------+
| A | 8 |
| B | 2 |
| C | 5 |
| D | 9 |
+-----------+-----------+
我需要从库存到订单中减去列号
结果将是:
表:库存
+-----------+-----------+
| Item | Number |
+-----------+-----------+
| A | 20 |
| B | 7 |
| C | 11 |
| D | 13 |
+-----------+-----------+
+-----------+-----------+
| Item | Number |
+-----------+-----------+
| A | 12 |
| B | 5 |
| C | 6 |
| D | 4 |
+-----------+-----------+
我试过使用
SELECT item , number=
(
(SELECT number FROM stock)-(SELECT number from order))
FROM order;
不幸的是,它不工作,请帮助我!
请原谅格式化。如果两个表处于1:1关系->请尝试以下操作:
SELECT B.Item,A.Number - B.Number FROM
Stock A
INNER JOIN Order B
ON A.Item=B.Item
SELECT s.item, s.number - o.number
FROM stock s
JOIN order o
ON s.item = o.item
否则:
SELECT s.item,
s.number - ISNULL(
(SELECT SUM(o.number)
FROM order o
WHERE o.item = s.item), 0)
FROM stock s
如果两个表处于1:1关系->请尝试以下操作:
SELECT s.item, s.number - o.number
FROM stock s
JOIN order o
ON s.item = o.item
否则:
SELECT s.item,
s.number - ISNULL(
(SELECT SUM(o.number)
FROM order o
WHERE o.item = s.item), 0)
FROM stock s
提示:
JOIN
将两个表连接在一起。提示:JOIN
将两个表连接在一起。