找回密码
 注册会员
查看: 934|回复: 0

请教sql2000查询命令问题

[复制链接]
发表于 2010-9-8 10:23:50 | 显示全部楼层 |阅读模式
<p>请教sql2000查询命令问题</p>
<p><img src="http://img.baidu.com/img/iknow/icn_point.gif"> 悬赏分:0 -</p>
<p>解决时间:2010-9-8 10:23</p>
<p>3个表   返修信息、批发信息、退货信息</p>
<p>命令1、select isnull(sum(cast(返修信息.返修收费 as float)),0) 合计 from 返修 where  客户名=\'xx\'</p>
<p>能得出正确答案</p>
<p>命令2、select isnull(sum(ISNULL(isnull(cast(批发信息.单件总价 as float),0), 0)),0)  + isnull(sum(ISNULL(isnull(cast(返修信息.返修收费 as float),0), 0)),0)+ isnull(sum(ISNULL(isnull(-cast(退货信息.总价 as float),0), 0)),0)   from 退货信息</p>
<p>right join 批发信息 on 批发信息.编号 = 退货信息.编号</p>
<p>left join 返修信息 on 返修信息.编号 = 批发信息.编号</p>
<p>where 批发信息.客户名 = \'xx\'</p>
<p>命令结果: 批发信息、返修信息、退货信息</p>
<p>isnull(sum(ISNULL(isnull(cast(返修信息.返修收费 as float),0), 0)),0)不对,其他都ok</p>
<p>急求各位大虾指点迷津不胜感谢!!</p>
<p>提问者: 杰晓猪 - 一级</p>
<p>最佳答案</p>
<p>isnull(sum(ISNULL(isnull(cast(返修信息.返修收费 as float),0), 0)),0)</p>
<p>对于上述语句</p>
<p>sum(ISNULL(isnull(cast(返修信息.返修收费 as float),0), 0))已经不可能产生null数值了,它肯定是一个数值,因此第1个isnull删除。</p>
<p>0</p>
<p>回答者:</p>
<p>ytu_math - 六级   2010-8-29 15:51</p>
<p>我来评论>></p>
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|文字版|手机版|小黑屋|襄阳城

GMT+8, 2025-5-12 17:02

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表