|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
10.01.2010, 14:34 | #1 |
Пользователь
Регистрация: 05.05.2009
Сообщений: 10
|
Реализация запроса:
Уважаемые знатоки, подскажите, как красивее решить следующую задачу:
Запрос возвращает следующее: имя, номер XXX 3 XXX 4 XXX 5 XXX 6 YYY 1 YYY 5 YYY 7 задача - вернуть недостающие цифры в порядковой нумерации, т.е. результат должен быть следующим: XXX 1 XXX 2 YYY 2 YYY 3 YYY 4 YYY 6 Пока реализовал через курсор, но получилось довольно громоздко. Вероятно есть и другие решения. |
10.01.2010, 19:31 | #2 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
Ну в PHP, например, есть функции для работы с массивами. Можно вычесть из массива эти элементы, что останется - то выводить. Или в цикле проверять на совпадение...
|
11.01.2010, 12:40 | #3 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
может еще озвучишь СУБД? тогда решение будет самым красивым
|
11.01.2010, 15:27 | #4 |
Пользователь
Регистрация: 05.05.2009
Сообщений: 10
|
|
11.01.2010, 16:36 | #5 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
может и дождемся варианта от МССКЛ-ьщиков
и ваш вариант тоже хотелось бы посмотреть а "курсор" - это же запрос или так ХП обзывают в МССКЛ? вот вариант для Оракла Код:
|
11.01.2010, 19:17 | #6 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
а если отображать интервалами, то будет проще и красивее таким запросом
Код:
|
12.01.2010, 10:14 | #7 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
ну, если TC устроит вариант с указанием пропущенных диапазонов, то аналог (чуть расширенный - дополнительно указывается количество пропущенных) запроса из пост #6 в MS SQL будет выглядеть примерно так:
Код:
p.p.s. автор оригинального запроса не я, копирайт некоего автора с sql.ru |
12.01.2010, 12:39 | #8 | |
Пользователь
Регистрация: 05.05.2009
Сообщений: 10
|
Цитата:
Код:
|
|
12.01.2010, 14:09 | #9 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
имхо запросом с найденными интервалами "дырок" будет шустрее
стоит только сравнить лист из 1 млн. записей, в котором есть 100-150 дырок (пусть "дырки" будут распределены равномерно по всему диапазону записей) - ваш "курсор" будет молотить все эти записи и при этом "потрогает" каждую (может там еще и триггеры будут задействованы), а через запрос получите лист из тех же 100-150 дырок |
12.01.2010, 14:45 | #10 | |
Пользователь
Регистрация: 05.05.2009
Сообщений: 10
|
Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Реализация страниц | spein | PHP | 1 | 14.12.2009 23:54 |
[Delphi] TQuery и реализация запроса. | MaGWaY_minsk | Помощь студентам | 2 | 12.05.2009 00:31 |
Реализация программы | K123 | Общие вопросы C/C++ | 2 | 07.05.2009 20:30 |
Реализация очереди! | Lazio | Помощь студентам | 2 | 08.04.2009 17:41 |
Реализация конфигуратора | BlackOmen | Общие вопросы Delphi | 3 | 30.05.2008 17:12 |