|
<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>
|
|