高手帮忙看一下,这句话有问题吗?

w_lion 2011-03-08 08:41:31
select d.money1,c.guid from connecter c left join (select sum(b.money1) as money1,a.connecter_id as guid from sell a left join sell1 b on a.guid=b.sell_id where a.time1<='2011-02-25' group by a.connecter_id ) d on c.guid=d.guid order by c.code

这句话在我的电脑上运行没有问题每次运行的结果是一样的,而在客户的服务器上每次运行的结果居然不一样,真晕。换了另一台服务器上也是一样。感觉好象客户服务器上的left join规则有问题一样。
数据都是一样的,用同一个备份恢复的。执行程序是用SQL的查询分析器。sql2000和sql2005都试过了。
请高手指点一下,什么地方出了问题。
...全文
99 点赞 收藏 15
写回复
15 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Billy 2011-03-10
太诡异!
回复
数据一样的话,肯定是系统环境有些设置不一样,例如排序规则等。

排查的话建议从子查询开始。看看两台计算机上的子查询的结果是否相同等。
回复
w_lion 2011-03-10
to HEROWANG(王一诺)

我的是2005的
我看了一下数据库的属性中的选项,其中有NULL的设置,都是一样的
我又看了一下菜单中工具的选项,其中有查询执行的设置,也是一样的。

谢谢你的帮助。

有没有高手来帮忙解决一下这个问题啊。
最怪的是这句话每次的运行结果应该一样,可在客户的服务器上运行每次的结果也不一样。
回复
zsh0809 2011-03-08
应该是guid造成的原因吧。
给点测试数据出来,我试一下。
回复
feixianxxx 2011-03-08
.....不知道
回复
看下两个服务器对null设置的属性是否相同。查询--》选项
回复
幸运的意外 2011-03-08
确认一下两台机器的SQL版本号,可以使用语句: select version
看看是不是版本问题造成的。如果版本不一样,则建议更新成一样的再测试一下。
回复
小_爱 2011-03-08
客户电脑上是sql 神马版本的--2000或05的都最好打好补丁
你确信数据都一样吗?--检查下
回复
xuyuchends 2011-03-08
会不会是你2个数据库的语言设定比一样啊,一个中文版,一个英文版?。时间检索出来会有问题,难道?
回复
w_lion 2011-03-08
第一数据是一定一样的。
第二数据即使不一样,每次运行的结果也应该相同,但我只的重复点运行按钮每次的结果也不一样。而在我自己的电脑上每次的结果是一样的。
回复
dawugui 2011-03-08
我猜测你可能连错库了.
回复
快溜 2011-03-08
只有一种可能,数据不一样了。
回复
w_lion 2011-03-08
有没有高手过来帮一下忙啊。
用户的两个服务器都试过了。一个是SQL2000一个是SQL2005。
数据都是用同一备份恢复的,不会不同的
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2011-03-08 08:41
社区公告
暂无公告