相同的查询在SQL中产生不同的结果

| 在一台机器上,我们有一组数据,并说有一个isValid列,其中包含true或false,我们还有另一个列定义了一个组。对于每个组,对于Isvalid列只能有一个值为true,其余的则为true为假。 现在,当我们基于Group运行查询时,包含Isvalid列为True的行将作为查询结果的第一行,其余的行包含Isvalid列,它们为false。 这里我们不使用任何\'order by \'或\'group by \',而只使用\'inner join \'和\'where \'条件。 问题出在我们的开发服务器和测试服务器上,我们获得了预期的查询结果,但是当它转到实时服务器时(对于所有三台服务器(即开发,测试和实时服务器),数据完全不同,并且所有这些服务器都在同一版本上运行SQL 2005),结果互换(查询结果的第一行带有isvalid列false的行)不知道为什么。有任何建议吗? 请帮忙, 非常感谢, 拜弗     
已邀请:
显而易见的答案是:测试服务器,开发服务器和实时服务器上的不同数据。 但是,即使具有相同的数据,但没有
ORDER BY
子句,结果通常也以聚簇索引顺序返回,但这不能保证。 如果需要按特定顺序排列结果,则必须使用“ 0”子句。     

要回复问题请先登录注册