Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS SQL Server > Выбор n-ой строки из SQL запроса


Автор: nickelfire 5.3.2005, 20:33
Здравствуйте.
Встретиласть такая проблема в SQL, нужно сделать так чтобы из выборки, сделанной с

помощью оператора Select возвращалась n-ая строка. Например условию, заданной в

операторе Where соответствует 10 записей. Как сделать так чтобы Select выдал только

5-строку или 5 строку сделал 1 в наборе данных.
Заранее благодарен.

Автор: boevik 6.3.2005, 08:22
Без временной таблицы не обойтись.
Строим временную таблицу с полем IDENTITY и с нужным условием
Код

SELECT IDENTITY(int,1,1) [ID], field1, ...., fieldN
INTO #tmp
FROM Table1
WHERE ...

Из временной таблицы вытаскиваем нужную запись
Код

SELECT field1, ...., fieldN
FROM #tmp
WHERE [ID] = 5

Автор: HalkaR 6.3.2005, 11:20
Код
SELECT TOP 1 * FROM
(SELECT TOP {Номер строки} * FROM table ORDER BY ID) AS a
ORDER BY ID DESC

Автор: nickelfire 8.3.2005, 18:32
Спасибо большое за ответы, но в моем случае не помогает. Я могу лишь частично

изменять запрос, он такого вида.

SELECT * FROM MAIN WHERE login='текст вставки' and password='текст вставки'

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)