名称 id2 toid2 数量
---------------------
01 A B 10
02 C A 29
02 B C 9
02 A B 5
环境是ACCESS+VB
A,B,C代表地点,01,02表示物品。第一条记录的意思是01物品由A点发给B点。现在要得到2张表。一张表是单个地方各种物品的存量:比如求A点的存量
名称 数量
----------
01 -10
02 24另一张表就是每个物品每个地点的存量
名称 A B C
------------------------
01 -10 10 0
02 24 -4 -20后名的问题可能要用到交叉表,我一边自己尝试,一边等待他人指点.
---------------------
01 A B 10
02 C A 29
02 B C 9
02 A B 5
环境是ACCESS+VB
A,B,C代表地点,01,02表示物品。第一条记录的意思是01物品由A点发给B点。现在要得到2张表。一张表是单个地方各种物品的存量:比如求A点的存量
名称 数量
----------
01 -10
02 24另一张表就是每个物品每个地点的存量
名称 A B C
------------------------
01 -10 10 0
02 24 -4 -20后名的问题可能要用到交叉表,我一边自己尝试,一边等待他人指点.
select 名称,数量 from 表 where toid2='A'最后就 select 名称,sum(数量) from 临时表 group by 名称
select 名称,
isnull(sum(case when id2='A' then (-1)*数量 else case when toid2='A' then 数量 end end),0) as A,
isnull(sum(case when id2='B' then (-1)*数量 else case when toid2='B' then 数量 end end),0) as B,
isnull(sum(case when id2='C' then (-1)*数量 else case when toid2='C' then 数量 end end),0) as C
from tab1 group by 名称
sum(Switch(id2=A,(-1)*数量,toid2=A,数量)) AS A还想求一张表
求各个点存量的总和!!
名称 现存数
------------------------
01 0
02 0