我有一个包含一些传入和传出数据的表。
+====+===========+==========+============+
| id | flow(int) | quantity | product_id |
+====+===========+==========+============+
| 1 | 0 | 100 | 1 |
+----+-----------+----------+------------+
| 2 | 1 | 20 | 1 |
+----+-----------+----------+------------+
| 3 | 1 | 30 | 1 |
+----+-----------+----------+------------+
| 4 | 0 | 10 | 1 |
+----+-----------+----------+------------+
| 5 | 1 | 30 | 2 |
+----+-----------+----------+------------+
| 6 | 2 | 10 | 2 |
+----+-----------+----------+------------+
| 7 | 0 | 10 | 2 |
+====+===========+==========+============+
列流是一种枚举类型,0-传入,1和2-传出操作。
如何获得特定产品的当前“余额”?
产品1的“余额”应为60=输入(100)-输出(20)-输出(30)+输入(10)。
产品2应该有-30“余额”=输出(30)-输出(10)-输入(10)。
是否可以用任何有效的方式进行单一查询?
3条答案
按热度按时间rks48beu1#
使用以下选项:
xe55xuns2#
csga3l583#
这将是条件聚合: