SELECT MIN(ID) AS ID
FROM (SELECT TOP 20 ID
FROM Accounts) DERIVEDTBL
这是一个正常的SQL语句吧,
子查询取得了表accounts里的20条记录
min(id)肯定是在子查询里查最小记录吧。。
但我现在遇到一个怪问题。
我本机执行这条语句正常,取到的是子查询的最小记录
但在另一台机器上,取到的数据却是表accounts的最小记录
我彻底晕死。。。。难道SQL版本不同,会引起这些错误吗?
还是我这SQL本身就写错了?
------解决方案--------------------
sql2000打了SP4补丁后会这样,这么写就没问题了
SELECT MIN(ID) AS ID
FROM (SELECT TOP 20 ID
FROM Accounts ORDER BY ID) DERIVEDTBL