2013-11-28 2 views
0

Я выбрал строки из представления (где предложения в представлении находятся на статических данных). Если я запускаю SQL ниже, я получаю одинаковые результаты каждый раз. Я ожидаю, что recordsIds будут одинаковыми и в том же порядке, но они совершенно разные!Тот же оператор SQL, дающий разные результаты

Я использую SQL SEVER 2012. Может кто-нибудь объяснить, почему эти результаты отличаются?

Screen dump of sql server

+0

В чем проблема? Предложение 'order by' сообщает ему сортировать их численно, и опубликованный снимок экрана указывает, что результаты вернутся в порядок. –

+0

Он/она задается вопросом, почему * те же самые пять * 'RecordId' не возвращаются в каждом случае – Shai

+0

Возможно ли, что кто-то сыграл трюк с вами? Возможно ли, что кто-то создал два столбца: 'Recordld' и' RecordId', первый из них имеет нижний регистр L, а другой - Capital i? – cha

ответ

6

Мы должны видеть, определение вида. Предположим, что вид был определен как

select top 5 * from MyTable 

Этот вид может возвращать 5 разных строк при каждом вызове. Или, возможно, представление предназначено для возврата случайно выбранных строк.

+0

+1 - nice catch. –

+0

Я написал представление, он не предназначен для возврата разных строк, однако у представления нет порядка на нем тоже. Но вы правы, что есть ТОП-5 в представлении, означает ли это, что порядок отличается при выборе разных вещей? – user1909158

+0

Я поставил заказ в представлении, теперь он работает так, как я хочу, чтобы он – user1909158

Смежные вопросы