| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1331 人关注过本帖
标题:看个这个SQL语句该怎么写?请教高手
只看楼主 加入收藏
myemail1983
Rank: 2
来 自:南京
等 级:新手上路
威 望:3
帖 子:256
专家分:0
注 册:2008-7-27
结帖率:100%
收藏
 问题点数:0 回复次数:11 
看个这个SQL语句该怎么写?请教高手
select name,Num as 库存量,(select sum(num) from outlibdan as o where o.productID=s.ProductID )  as 出库数量
,(select sum(num) from inlibdan as i where i.productID=s.productID) as 入库数量
from doc_Products as s
left join libs on libs.productID=s.productID
我想加两列,一列是用入库数量-出库数量-库存量,一列是如果前一列那个值结果为0,则平衡,不为0则不平衡
我用,(select sum(num) from inlibdan as i where i.productID=s.productID)-,(select sum(num) from outlibdan as o where o.productID=s.ProductID ) -Num后倒是能到过结果,但是如果出库数量,或其它两个中有一个为null计算的结果就会是NULL,这怎么解决呢?
搜索更多相关主题的帖子: SQL 语句 
2008-09-15 22:00
ecjob
Rank: 3Rank: 3
等 级:论坛游侠
威 望:8
帖 子:321
专家分:110
注 册:2006-10-15
收藏
得分:0 
select isnull(sum(num),0) from inlibdan as i where i.productID=s.productID)-,(select isnull(sum(num),0) from outlibdan as o where o.productID=s.ProductID

86年出生,广东求 女人/项目/工作 ,见广告即有效.论坛PM
2008-09-15 22:05
师妃暄
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:805
专家分:107
注 册:2006-3-1
收藏
得分:0 
楼上正解
看签名貌似高手....

有实力才会有魅力 实力来自坚持不懈的努力
2008-09-15 22:22
myemail1983
Rank: 2
来 自:南京
等 级:新手上路
威 望:3
帖 子:256
专家分:0
注 册:2008-7-27
收藏
得分:0 
高手!!出来了,真不错,太感谢了,
看来SQL语句还是有很多不会地,得再学学
祝你找到个好工作!

寻找学习的动力,承接小型程序设计,呵呵,为了激励自己学习下。
虽然做不到无私,但会学着去帮助别人
2008-09-15 22:30
myemail1983
Rank: 2
来 自:南京
等 级:新手上路
威 望:3
帖 子:256
专家分:0
注 册:2008-7-27
收藏
得分:0 
高手,发短消息我这好像这会发不了了,
好像还有点问题
如果全为NULL时,出现的结果还是NULL

寻找学习的动力,承接小型程序设计,呵呵,为了激励自己学习下。
虽然做不到无私,但会学着去帮助别人
2008-09-15 22:54
ecjob
Rank: 3Rank: 3
等 级:论坛游侠
威 望:8
帖 子:321
专家分:110
注 册:2006-10-15
收藏
得分:0 
select isnull(name,''),isnull(Num,'0') as 库存量,(select isnull(sum(num),'0') from outlibdan as o where o.productID=s.ProductID )  as 出库数量
,(select isnull(sum(num),'0') from inlibdan as i where i.productID=s.productID) as 入库数量
from doc_Products as s
left join libs on libs.productID=s.productID


-------
太麻烦了。。。数据库怎么搞的。。先写好数据结构吧。。 设置数据库 not null

86年出生,广东求 女人/项目/工作 ,见广告即有效.论坛PM
2008-09-15 23:04
myemail1983
Rank: 2
来 自:南京
等 级:新手上路
威 望:3
帖 子:256
专家分:0
注 册:2008-7-27
收藏
得分:0 
select s.productID, name,isnull(Num,0) as LibN,(select isnull(sum(num),0) from outlibdan as o where o.productID=s.ProductID )  as OutLibN
,(select isnull(sum(num),0) from inlibdan as i where i.productID=s.productID) as InLibN,
(select isnull(sum(num),0) from inlibdan as i where i.productID=s.productID)-
(select isnull(sum(num),0) from outlibdan as o where o.productID=s.ProductID)-
(select isnull(num,0) from libs where libs.productID=s.productID)
from doc_Products as s
left join libs on libs.productID=s.productID

寻找学习的动力,承接小型程序设计,呵呵,为了激励自己学习下。
虽然做不到无私,但会学着去帮助别人
2008-09-15 23:07
myemail1983
Rank: 2
来 自:南京
等 级:新手上路
威 望:3
帖 子:256
专家分:0
注 册:2008-7-27
收藏
得分:0 
我的数据结构应该没有问题,Name不可为空,
出库的不是这里,是后面的减法运算的结果还是会为NULL

寻找学习的动力,承接小型程序设计,呵呵,为了激励自己学习下。
虽然做不到无私,但会学着去帮助别人
2008-09-15 23:26
drychq
Rank: 1
等 级:新手上路
帖 子:114
专家分:0
注 册:2007-10-30
收藏
得分:0 
sum(num)
  以前听老师讲过。。
但是 还是不明白其意思。。。
  有谁能说一下吗。。。。
2008-09-15 23:37
myemail1983
Rank: 2
来 自:南京
等 级:新手上路
威 望:3
帖 子:256
专家分:0
注 册:2008-7-27
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

看下结果

寻找学习的动力,承接小型程序设计,呵呵,为了激励自己学习下。
虽然做不到无私,但会学着去帮助别人
2008-09-15 23:40
快速回复:看个这个SQL语句该怎么写?请教高手
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018944 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved