Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Вытащить из таблицы, N запись одним запросом.  [new]
Jenya_Mukomelo
Member

Откуда: +6
Сообщений: 81
Доброго времени суток. Пардон, если вопрос уже обсуждался.

Нужен простейший запрос, который выдаст ту строку таблицы, номер которой я укажу в запросе.
При этом обязательные условия:
Нельзя использовать "Order by", явные курсоры и прочие прелести PL.
29 сен 08, 12:56    [6239648]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить из таблицы, N запись одним запросом.  [new]
Добрый Э - Эх
Guest
Jenya_Mukomelo
Доброго времени суток. Пардон, если вопрос уже обсуждался.

Нужен простейший запрос, который выдаст ту строку таблицы, номер которой я укажу в запросе.
При этом обязательные условия:
Нельзя использовать "Order by"
, явные курсоры и прочие прелести PL.

И чем в этом случае будет определяться номер твоей строки? Ибо номер имеет место существовать лишь в УПОРЯДОЧЕННОМ множестве. В противном случае это будет игра в рулетку...
select * from (
select t.*, rownum as rn
from t)
where rn = :<твой номер>
29 сен 08, 12:59    [6239675]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить из таблицы, N запись одним запросом.  [new]
stax..
Guest
что есть номер строки в oracle?

  1* select d.*,rowid from dept d
SQL> /

   DEPTNO DNAME          LOC           ROWID
--------- -------------- ------------- ------------------
       10 ACCOUNTING     NEW YORK      AAACW+AAFAAA7GEAAA
       20 RESEARCH       DALLAS        AAACW+AAFAAA7GEAAB
       30 SALES          CHICAGO       AAACW+AAFAAA7GEAAC
       40 OPERATIONS     BOSTON        AAACW+AAFAAA7GEAAD

SQL> select * from dept where rowid='AAACW+AAFAAA7GEAAC';

   DEPTNO DNAME          LOC
--------- -------------- -------------
       30 SALES          CHICAGO

SQL> 
.....
stax
29 сен 08, 12:59    [6239680]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить из таблицы, N запись одним запросом.  [new]
Elic
Member

Откуда:
Сообщений: 29979
Jenya_Mukomelo
Нельзя использовать "Order by"
Значит и нельзя сказать, что такая-то строка это i-ая.
29 сен 08, 13:02    [6239707]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить из таблицы, N запись одним запросом.  [new]
Jenya_Mukomelo
Member

Откуда: +6
Сообщений: 81
Да, я конечно понимаю, что данные должны быть упорядочены.

Если быть более детальным. Смысл в следующем.
Есть документ. у него есть какие-то разные поля.. Кроме того, имеется список людей, которые включены в этот документ. Этот список я могу получить, но лишь в подзапросе. Внешний запрос, должен в итоге иметь лишь один столбец и одну строку. Так как вызывается запрос через функцию, интегрированную в FastReport, который обращается к базе на сервере Oracle. В общем, вся проблема в том, что эта функция не позволяет использоваться ни Order by ни другие широкие возможности языка PL/SQL. А необходимо без использования бэндов вывести весь список людей, относящихся к документу, при этом учитывая все ограничения описаные выше.
29 сен 08, 13:11    [6239790]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить из таблицы, N запись одним запросом.  [new]
Oleg M.Ivanov
Member

Откуда: Москва
Сообщений: 1164
Jenya_Mukomelo
Да, я конечно понимаю, что данные должны быть упорядочены.

Если быть более детальным. Смысл в следующем.
Есть документ. у него есть какие-то разные поля.. Кроме того, имеется список людей, которые включены в этот документ. Этот список я могу получить, но лишь в подзапросе. Внешний запрос, должен в итоге иметь лишь один столбец и одну строку. Так как вызывается запрос через функцию, интегрированную в FastReport, который обращается к базе на сервере Oracle. В общем, вся проблема в том, что эта функция не позволяет использоваться ни Order by ни другие широкие возможности языка PL/SQL. А необходимо без использования бэндов вывести весь список людей, относящихся к документу, при этом учитывая все ограничения описаные выше.

Тогда правильную вьюху ему подсунуть с "Order by и другими широкими возможностями языка PL/SQL".
29 сен 08, 13:21    [6239879]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить