表A:
NO 名称 数量
1 A 10
2 B 20
3 A 30
4 B 40
表B:
名称 数量
A 100
B 200
A 300
B 400表C:
NO. 名称 数量A 数量B 数量C
1 A 10 400 -390
2 B 20 600 -580
3 A 30 400 -360
4 B 40 600 -540数B 为表B 同一名称的数量合计,数量C 为数量A-数量C 的分别累计
NO 名称 数量
1 A 10
2 B 20
3 A 30
4 B 40
表B:
名称 数量
A 100
B 200
A 300
B 400表C:
NO. 名称 数量A 数量B 数量C
1 A 10 400 -390
2 B 20 600 -580
3 A 30 400 -360
4 B 40 600 -540数B 为表B 同一名称的数量合计,数量C 为数量A-数量C 的分别累计
(select sum(数量) from A where 名称=TA.名称 AND NO<=TA.NO)-(select sum(数量) from b where 名称=TA.名称) as 数量C
from a TA结果是对的,效率不知道怎么样。
select x.No ,x.名称 ,x.数量 数量A,y.数量B ,y.数量B-x.数量 数量C from 表A x(select 名称,sum(数量)数量B from 表B group by 名称) y where x.名称 =y.名称
(select sum(数量) from A where 名称=TA.名称 AND NO<=TA.NO)-(select sum(数量) from b where 名称=TA.名称) as 数量C
from a TA
FROM A AS TA;