Я нашел, что должно быть ошибкой в запросе, когда оно было скопировано в другую (предположительно идентичную) базу данных, и это не удалось. Это выглядит примерно так, как этотSQL Order By Non Existant Column
SELECT a.columnOne ,
b.columnOne
FROM TableOne a
INNER JOIN TableTwo b
ON a.id = b.id
WHERE a.Value = 0
ORDER BY a.ColumnOne ,
b.ColumnTwo
The «ошибка», что TableTwo НЕ имеет столбец с именем columnTwo (используется в предложения ORDER BY), но он прекрасно работает. По крайней мере, это делается в одной из баз данных, а другая жалуется. Но я уверен, что не имеет TableTwo.columnTwo.
Возможно, стоит упомянуть, что TableOne имеет столбец с именем columnTwo.
Это легкое исправление, но это подталкивает меня, что это существует так долго без проблем. Любая идея, что может продолжаться? (Или больше информации я мог бы дать?)
Это связано с ** [Совместимость level] (http://msdn.microsoft.com/en-us/library/bb510680 (v = SQL.105) .aspx) ** В одном случае псевдоним таблицы игнорируется, а в другом - нет (и возникает ошибка) –
См. отредактированную ссылку, где она имеет различия между уровнями 80 и 90. –
@ypercube Yep ... очевидно, префиксы могут игнорироваться в списке ORDER BY в режиме совместимости 2000 года. Спасибо. Добавьте это как ответ, и я соглашусь с ним. –