![]() |
|
Модераторы: LSD |
![]()
|
|
| Гость_Vasya |
|
|||
|
Unregistered |
Здраствуйте!
Есть таблица с полем, в котором хранятся уникальные числа. Требуется найти первое число , которого не в таблице, причем оно меньше максимального, например: из чисел 1, 2, 5 требуется найти 3. Как это осуществить с помощью SQL запроса? Спасибо! |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
Никак.
SQL умеет делать выборку только из существующих данных, а ты хочешь получить НЕСУЩЕСТВУЮЩИЕ. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| gas1979 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 5.10.2004 Репутация: нет Всего: нет |
а если выборка: 1, 2, 3, 5, 6, 8, 10
то какое число: 4 или 9 из sql ты не вытащишь не одно не другое, но если вытащишь существующие то программно если 4, то перебором и условием присвой новое число если 9, то в обратную сторону |
|||
|
||||
| igon |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 327 Регистрация: 30.10.2004 Репутация: 3 Всего: 21 |
Например, так
или так
Это сообщение отредактировал(а) igon - 13.5.2005, 14:50 -------------------- Хотите поговорить об этом? |
||||
|
|||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 13 Всего: 454 |
igon
1) Не каждый SQL поддерживает Minus 2) На таблице с контентом 2, 3, 5, 6 он даст не 1, а 4... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
Сделать ещё одну таблицу со всеми числами и делать запрос уже из двух таблиц
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| igon |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 327 Регистрация: 30.10.2004 Репутация: 3 Всего: 21 |
to Akina
В вопросе не указана БД, к сожалению. Не указана, однако, и потребность в универсальном SQL запросе, пригодном для любых БД. В случае неподдержки Minus - второй вариант
Граничные условия я и не пытался рассматривать, чтобы не усложнять. Так, приведенные Select`ы некорректно сработают и для последовательности без "дырок" (выдадут ID, бОльший максимального). -------------------- Хотите поговорить об этом? |
||||
|
|||||
![]()
|
| Правила форума "Общие вопросы по базам данных" | |
|
|
Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:
Данный форум не предназначен для:
Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение.
Полезные советы: Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | СУБД, общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |