Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 从两个表中计算剩余的货物库存_Mysql_Join_Row_Spread - Fatal编程技术网

Mysql 从两个表中计算剩余的货物库存

Mysql 从两个表中计算剩余的货物库存,mysql,join,row,spread,Mysql,Join,Row,Spread,我有两张桌子 1.表中的事务处理: +-----+ |id_in| +-----+ | 2 | | 2 | | 1 | | 3 | | 2 | | 3 | +-----+ 2.表事务输出: +------+ |id_out| +------+ | 2 | | 2 | | 3 | | 1 | +------+ 我想做一个查询,以便根据类型在两个表之间产生差异 其中,每行的数量由行计数(*)确定 结果是 查询结果表 +--+------------

我有两张桌子
1.表中的事务处理:

+-----+
|id_in|
+-----+
| 2   |
| 2   |
| 1   |
| 3   |
| 2   |
| 3   |
+-----+
2.表事务输出:

+------+
|id_out|
+------+
|   2  |
|   2  |
|   3  |
|   1  |
+------+
我想做一个查询,以便根据类型在两个表之间产生差异 其中,每行的数量由行计数(*)确定 结果是

查询结果表

+--+---------------+----------------+----------------+
|id|count row id_in|count row id_out|(rowin - rowout)|
+--+---------------+----------------+----------------+
|1 |      1        |      1         |     0          | 
|2 |      3        |      1         |     2          |  
|3 |      2        |      2         |     1          |  
+--+---------------+----------------+----------------+
如何查询?

您可以在下面尝试-

select idin, count_idin, count_idout,  count_idin-count_idout as result
from
(
  select idin,count(idin) count_idin from transactionin group by idin
)A inner join 
(
  select idout,count(idout) count_idout from transactionout group by idout
)B on A.idin=B.idout

请参阅-在每种情况下,不要忘记识别主键谢谢您的解决方案,它很简单,:)@fami