我对CSDN绝望了,出了500分的问题居然连个人看看都没有。(55分)

D

del_man

Unregistered / Unconfirmed
GUEST, unregistred user!
A表:
单位代码 批次 物品代码
11 1 ABC
11 1 DEF
11 1 GHI
11 1 ABC
(注:物品代码可以重复)
B表:
单位代码 物品代码 批次 类型 数量
11 ABC 1 C 100
11 ABC 1 C 50
11 ABC 1 R 40
11 DEF 1 C 30
11 DEF 1 R 20
.
.
C表
单位代码 物品代码 批次 类型 数量
11 GHI 1 C 200
11 GHI 1 R 100
11 ABC 1 C 30
现在我想生成一张汇总表
D表
单位代码 物品代码 批次 出库数量-入库数量
11 ABC 1 140
11 DEF 1 10
11 GHI 1 100
(注:出库数量-入库数量 是由类型计算出来的,当类型=C的时候数量就累加为出库数量,当类型=R的时候,数量就累加为入库数量。)
这条语句该怎么写?高手们帮帮忙吧。谢谢!!
我在大富翁里面只有55分了,高手们可以接受吗?分不够,可以以后记账。
 
我这个菜鸟认为比较繁,我想我只能直接编写一个函数,逐表逐行处理.
 
来看看。

CSDN太慢了。
 
select a.单位代码,a.物品代码,a.批次,sum(a.num) from
(select 单位代码,物品代码,批次,
case 类型 when 'c' then 数量 when 'r' then -数量 end as num from B表
union all
select 单位代码,物品代码,批次,
case 类型 when 'c' then 数量 when 'r' then -数量 end as num from C表) as a
group by 单位代码,物品代码,批次

问题说得不很清楚,算提供个思路吧。

 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
960
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
顶部