SQL:sum(unit)表a减去sum(unit)表b

标签 sql sap-ase

我有 2 张 table ;

  1. item_in(item_id,单位)
  2. item_out(item_id,单位)

现在假设我想知道每个项目插入了多少个单位,我只是查询

select sum(unit) from item_in order by item_id

同样,如果我想知道有多少单位被取出,我只需查询

select sum(unit) from item_out order by item_id

我不知道如何查询每个项目的余额(item_in - item_out)。

如果我可以在一个存储过程中进行所有查询,那就太好了,因为我想使用 DataWindow 调用该过程。

请帮忙,谢谢。

最佳答案

SELECT
  item_id,
  SUM(unit) AS unit_balance
FROM (
  SELECT item_id, unit FROM item_in
  UNION ALL
  SELECT item_id, -unit FROM item_out
) AS s (item_id, unit)
GROUP BY item_id

关于SQL:sum(unit)表a减去sum(unit)表b,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9357936/

相关文章:

sql - 为什么向现有列添加可为空的默认约束需要这么长时间?

SQL查询按字母顺序排序

SQL 查找相同的组

java - Sybase ASE 到 HSQLDB JUnit java.sql.SQLSyntaxErrorException : type not found or user lacks privilege

java - sybase 在插入/更新/删除时更新千兆空间缓存

delphi - 使用 GetTableNames 所需的权限

sql - PostgreSQL 在引用端自动分配外键

mysql - 在不依赖任何 ID 的情况下选择 MySQL 中的每隔一行?

SQL Select : Update if exists, 如果没有则插入 - 与日期部分比较?

sql - 如何从表中获取列类型?