2013-03-07 4 views
4

Как я динамически пронумеровать строки в запросе, подобный следующему:Динамически нумерации отдельных SQL строк оператора выбора

Select distinct name from @table where %rules 

Когда я добавляю ROW_NUMBER() OVER() я теряю отчетливое собственность, и он возвращается каждый элемент в таблице, с уникальным номером строки.

Select distinct ROW_NUMBER OVER(order by name), name from @table where %rules 

Я не хочу, чтобы создать временную таблицу, в противном случае я бы первичный ключ для временной таблицы и он вставить номера строк таким образом.

Заранее благодарен!

ответ

4

Используйте вот так.

select ROW_NUMBER() OVER(order by name), * from 
(Select distinct name from @table where %rules) as mytable 
+1

http://sqlfiddle.com/#!6/c33c4/1 –

+0

Высокий Он работал, спасибо! Это такое простое решение. – Subliminy

+1

или версия CTE, если люди предпочитают синтаксис :) http://sqlfiddle.com/#!6/c33c4/3 –

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

  • Нет связанных вопросов^_^