sql server 2000的一个bug

[ 2006-09-23 12:24:43 | 作者: progame ]
文字大小: | |
select month(OrderDate) as CurrentMonth,sum(dbo.GetJobOrders(OperationID)) as HBLs, count(*) as Jobs,
    sum(case when LoadingType = 'FCL' then dbo.GetContainersBySize(OperationID,'20') else 0 end + 0 -0) as FCLCTN20,
    sum(case when LoadingType = 'FCL' then dbo.GetContainersBySize(OperationID,'40') else 0 end + 1 -1) as FCLCTN40,
    sum(case when LoadingType = 'FCL' then dbo.GetContainersBySize(OperationID,'HQ') else 0 end + 2 -2) as FCLCTNHQ,
    sum(case when LoadingType = 'FCL' then dbo.GetContainersBySize(OperationID,'45') else 0 end + 3 -3) as FCLCTN45,
    sum(case when LoadingType = 'CONSOL' then dbo.GetContainersBySize(OperationID,'20') else 0 end + 4 -4) as LCLCTN20,
    sum(case when LoadingType = 'CONSOL' then dbo.GetContainersBySize(OperationID,'40') else 0 end + 5 -5) as LCLCTN40,
    sum(case when LoadingType = 'CONSOL' then dbo.GetContainersBySize(OperationID,'HQ') else 0 end + 6 -6) as LCLCTNHQ,
    sum(case when LoadingType = 'CONSOL' then dbo.GetContainersBySize(OperationID,'45') else 0 end + 7 -7) as LCLCTN45,
    sum(dbo.getTEU(OperationID)) as TEU,
    sum(case when LoadingType = 'FCL' then 0 else Measurement end) as LCLMeasurement,
    sum(dbo.GetGrossProfit(OperationID)) as GrossProfit,
    sum(dbo.GetSumFreight(OperationID,'I')) as Income from

当GetContainersBySize的统计出现问题:
不使用sum的时候,一切正常
一使用sum,如果后面不加上我那变态的+x - x的话,居然会汇总成同样的值

怀疑是被查询优化给错误优化了
最后没办法,只好加上一个莫须有的表达式在后面,然后统计结果正确
对于其它的sum,一切正常
评论Feed 评论Feed: /feed.asp?q=comment&id=106

标签: Sql Server sum

这篇日志没有评论.

发表
表情图标
[smile] [confused] [cool] [cry]
[eek] [angry] [wink] [sweat]
[lol] [stun] [razz] [redface]
[rolleyes] [sad] [yes] [no]
[heart] [star] [music] [idea]
UBB代码
转换链接
表情图标
悄悄话
用户名:   密码:   (非注册用户不需要输入密码) 注册?
验证码(不区分大小写) * 请输入验证码