sql数据库同一个表中两行数据判断后做减法运算怎么写sql

img


数据库表结构如上图 我要得出一个库存信息 例如要将 物料状态列为入库 且 项目名称 批次 钢种 长度 相同数据的哪一行的支数 减去物料状态列为领料,且项目名称等这些相同数据的行的支数之后得到新的一行 数据 。 我这个问题是需要建两个表还是怎么办?

应该是同一批次 同一规格 同一钢种 入库减领料

SELECT (SELECT b.字数 FROM 表 b WHERE 物料状态='入库' AND b.批次=a.批次 AND b.规格=a.规格 AND b.钢种=a.钢种 ) - a.指数
FROM 表 a WHERE 物料状态='领料' AND id=行ID

select [项目名称],[批次],[钢种],[长度], sum(case when [物料状态]='入库' then [支数] else 0 end)-sum(case when [物料状态]='领料' then [支数] else 0 end)
from [dbo].[Test1] group by [项目名称],[批次],[钢种],[长度]


select  (select num  from 表 where remark='入库' and id=行ID ) - num  from 表 where remark='出库' and id=行ID

昨天正好回答了一个,你可以参考下