小编Mar*_*ata的帖子

一个MS SQL服务器返回错误的查询顺序

我们有多个MSSQL服务器具有相同的数据库副本,下面的查询返回除一个以外的所有服务器的有效顺序,我仔细检查了表的设计,除了几个服务器缺少索引外,所有看起来都相同.

查询由doctrine生成

WITH dctrn_cte AS (
   SELECT TOP 10 a0_.Priority 
   FROM PROJECTS a0_ 
   WHERE a0_.ProjectID = 1234 
     AND (a0_.Check1 > 0 
          OR 
          a0_.Check2 > 0) 
     AND a0_.Active = 1 
   ORDER BY a0_.Priority DESC) 
   SELECT * 
   FROM (
      SELECT *, ROW_NUMBER() 
      OVER (ORDER BY (SELECT 0)) AS doctrine_rownum FROM dctrn_cte
      ) AS doctrine_tbl 
   WHERE doctrine_rownum BETWEEN 1 AND 10 ORDER BY doctrine_rownum ASC
Run Code Online (Sandbox Code Playgroud)

每次在该特定服务器上执行查询时,它都会给出一个随机顺序 - 它完全忽略了ORDER BY部分.

sql-server sql-server-2008 doctrine-orm

0
推荐指数
1
解决办法
462
查看次数

标签 统计

doctrine-orm ×1

sql-server ×1

sql-server-2008 ×1