34,587
社区成员
发帖
与我相关
我的任务
分享
SELECT KC.[编号]
,KC.[名称]
,KC.[起初数量]
,SUM(CASE SF.[类别] WHEN 'in' THEN SF.[数量] ELSE 0 END) AS 收入数量
,SUM(CASE SF.[类别] WHEN 'out' THEN SF.[数量] ELSE 0 END) AS 减少数量
,(KC.[起初数量] + SUM(CASE SF.[类别] WHEN 'in' THEN SF.[数量] ELSE 0 END) - SUM(CASE SF.[类别] WHEN 'out' THEN SF.[数量] ELSE 0 END)) AS 结存数
FROM [SF] INNER JOIN [KC] ON SF.[编号] = [KC].[编号]
GROUP BY KC.[编号],KC.[名称],KC.[起初数量]
select c.编号,名称,起初数量,
收入数量 = a.数量,
减少数量 = b.数量,
结存数 = 起初数量 + a.数量 - b.数量
from kc c
left join (select 编号,sum(数量) as sl from sf where 类型='收' group by 编号) a on c.编号 = a.编号
left join (select 编号,sum(数量) as sl from sf where 类型='发' group by 编号) b on c.编号 = b.编号
group by c.编号,名称,起初数量
select c.编号,名称,起初数量,
收入数量 = a.数量,
减少数量 = b.数量,
结存数 = 起初数量 + a.数量 - b.数量
from kc c
left join (select 编号,sum(数量) as sl from sf where 类型='收') a on c.编号 = a.编号
left join (select 编号,sum(数量) as sl from sf where 类型='发') b on c.编号 = b.编号
group by c.编号,名称,起初数量