一个关于sql语句的问题(200分)

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

lanruishan

Unregistered / Unconfirmed
GUEST, unregistred user!
sql语句:
select cpjbxx.编号,cpjbxx.品名,rk_sum.入库量,
cpjbxx.库存量-rk_sum.入库量 from cpjbxx
left join
(
select 编号,sum(入库量) as 入库量 from cprk
group by 编号
)rk_sum
on cpjbxx.编号=cprk.编号
如果在表cpjbxx(产品基本信息)里存在编号为B-003的产品,而表cprk(产品入库)
里没有B-003的入库信息,那么rk_sum.入库量显示结果就是null,而
cpjbxx.库存量-rk_sum.入库量的显示结果也是Null,有什么办法让前者显示0,而让
后者显示具体数值吗,最重要的是后者,也就是让具体数字减去null不等于null
 
select cpjbxx.编号,cpjbxx.品名,rk_sum.入库量,isnull(cpjbxx.库存量-rk_sum.入库量,0)
from cpjbxx
left join
(select 编号,isnull(sum(入库量),0) as 入库量 from cprk group by 编号) rk_sum
on cpjbxx.编号=cprk.编号
 
同意QuickSilver的方法!是不是为了保密,入库量始终显示0还是其它的!
 
表cprk(产品入库) 里没有B-003的入库信息,是不是可以用Right Outer Join,这样这条
记录就不会显示出来了。
 
接受答案了.
 

Similar threads

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