实现这样功能的SQL语句如何写?在线等待!(100分)

  • 主题发起人 主题发起人 lkpc
  • 开始时间 开始时间
L

lkpc

Unregistered / Unconfirmed
GUEST, unregistred user!
A表
bh (客户编号) ys(应收)
001 100
002 200
001 200

B表
bh (客户编号) yf(已付)
001 50
001 100
通过查询得到如下结果:(SQL2000中实现)

bh(客户编号) ys(应收) yf(已付) qk(欠款)
001 300 150 150
002 200 200
 
select a.bh,ys,yf,ys-yf as qk from (
select bh,sum(ys) as ys from a group by bh
) as a left join (
select bh,sum(yf) as yf from b group by bh)
) as b on a.bh=b.bh
 
select A.客户编号,A.应收,B.已付,(A.应收-B.已付) 欠款
from
(select bh 客户编号,sum(ys) 应收 from A表 group by bh) A,
(select bh 客户编号,sum(yf) 已付 from B表 group by bh) B
where A.客户编号=B.客户编号
 
来晚了,同意楼上
但有个小问题,因为002的yf是空值可能会有问题。
在ACCESS里可以用IIF、ISNULL函数来处理。不知道SQL2000里是否不会出现。
 
ysai是对的,shzi的只能得到两个表中都有的客户。
 
给分了!谢谢ysai
 

Similar threads

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