Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Интересный запрос. Помогите с запросом. 
:(
    Опции темы
Kamoliddin
Дата 30.7.2007, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 5.10.2006

Репутация: нет
Всего: нет



Оракл 8.107

У меня таблица с полями
1) авто инкремент (id).
2) поля 2 (name).
......
......

В таблице некотрые записи удалены. И мне нужно вывести именно эти недостаточные цифры.
Я знаю min(id) и max(id). 

Например: 

1  Лола 
2  Путин
4  Женя 
6  Камол

Значит max(6) и min(1). 

Результат:
3
5

Помогите  .......

PM MAIL   Вверх
DimW
Дата 30.7.2007, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 23
Всего: 44



Код

select rownum
from all_objects
where rownum <= (select max(id) from твоя_таблица)
minus
select id 
from твоя_таблица

PM MAIL ICQ   Вверх
DimW
Дата 30.7.2007, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 23
Всего: 44



или так:

Код

select id 
from (SELECT LEVEL id FROM DUAL CONNECT BY LEVEL <= 10000)
where id <= (select max(id) from твоя_таблица)
minus
select id 
from твоя_таблица

PM MAIL ICQ   Вверх
Kamoliddin
Дата 30.7.2007, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 5.10.2006

Репутация: нет
Всего: нет



2 DimW

Первый запрос работает, но что будет если число записей на моей таблице будет больше чем записей на all_objects?

А второй запрос  ругается  "ORA - 01436 CONNECT BY loop in user data". 

???????
PM MAIL   Вверх
DimW
Дата 30.7.2007, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 23
Всего: 44



Цитата(Kamoliddin @  30.7.2007,  10:05 Найти цитируемый пост)
А второй запрос  ругается  "ORA - 01436 CONNECT BY loop in user data".


Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production 
PL/SQL Release 9.2.0.1.0 - Production 
CORE 9.2.0.1.0 Production 
TNS for 32-bit Windows: Version 9.2.0.1.0 - Production 
NLSRTL Version 9.2.0.1.0 - Production 

запрос работает нормально.

Цитата(Kamoliddin @  30.7.2007,  10:05 Найти цитируемый пост)
Первый запрос работает, но что будет если число записей на моей таблице будет больше чем записей на all_objects?


результат пропущеных id будет не верным.

в любом случае необходимо множество на основе которого ты хочешь генерировать "искуственные" записи...

встречный вопрос: тебе это зачем???

Это сообщение отредактировал(а) DimW - 30.7.2007, 10:41
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.0600 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.