![]() |
|
Модераторы: skyboy |
![]()
|
|
| Kangaroo |
|
|||
|
AA - Aussie Animal ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2042 Регистрация: 7.10.2006 Где: US Репутация: нет Всего: 104 |
Здравствуйте,
не могу решить задачу по SQL, столкнулся с несколькими проблемами.. Условие.
Теперь, собственно, вопросы: 1) Не могу понять как в SQL можно выбрать любое число. То есть запрос типа SELECT Любое_число FROM utQ WHERE условия... 2) Как сделать - "Если пропусков нет, выводить NULL" ? Может есть ли какие-нибудь операторы условия в SQL? Надеюсь понятно объяснил. Спасибо заранее -------------------- Lost.... |
|||
|
||||
| XEugene |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 116 Регистрация: 1.1.2008 Репутация: нет Всего: 2 |
Что-то такое
а вывод null в случае отсутствия пропусков можно попробовать сделать через left join таблицы самой с собой. Это сообщение отредактировал(а) XEugene - 4.2.2008, 12:18 |
|||
|
||||
| Kangaroo |
|
|||
|
AA - Aussie Animal ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2042 Регистрация: 7.10.2006 Где: US Репутация: нет Всего: 104 |
Я вот тоже так пытался сделать, но это не то... Потому что в селекте стоит min(Q_ID), а нужно выбрать идентификатор, которого нету в таблице. Вот я и хотел узнать как выбрать любое_число, а не поле из какой-нибудь таблицы. -------------------- Lost.... |
|||
|
||||
| Deniz |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 6 Всего: 44 |
Выбирает все дырки в диапазоне:
немного изменив запрос можно выбрать 1 мин и 1 мах. -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
| XEugene |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 116 Регистрация: 1.1.2008 Репутация: нет Всего: 2 |
||||
|
||||
| Kangaroo |
|
||||||
|
AA - Aussie Animal ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2042 Регистрация: 7.10.2006 Где: US Репутация: нет Всего: 104 |
Deniz,
спасибо за наводку. Пока вот такое страшное получилось:
Добавлено через 2 минуты и 27 секунд У меня это на Оракле работает, а у них на сервере (не знаю какая БД) выдает
Я не думаю, что в задачах по SQL (и это тока 12я задача -------------------- Lost.... |
||||||
|
|||||||
| Kangaroo |
|
|||
|
AA - Aussie Animal ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2042 Регистрация: 7.10.2006 Где: US Репутация: нет Всего: 104 |
Все, прошел дальше
Deniz получает плюса в репу, спасибо. XEugene тоже спасибо за участие. Если кто знает как сделать этот же запрос красивее - отписываемся, буду рад улучшениям -------------------- Lost.... |
|||
|
||||
| Deniz |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 6 Всего: 44 |
Kangaroo, ну ты и запрос написал, с этими скобками не разберешься.
Можно и вот так написать:
можно все min и max во вложенных запросах поменять на select top 1 ... order by Q_ID asc/desc -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
| APM |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 13.7.2007 Репутация: нет Всего: 6 |
А откуда Вы такие задачки по SQL берете? Может поделитесь?
|
|||
|
||||
| Kangaroo |
|
|||
|
AA - Aussie Animal ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2042 Регистрация: 7.10.2006 Где: US Репутация: нет Всего: 104 |
Пока как умею, так и писал Тут -------------------- Lost.... |
|||
|
||||
| elephunk |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 10.3.2008 Репутация: нет Всего: нет |
Ребята, в чем ошибка понять не могу!!! Добавлено через 1 минуту и 35 секунд
Ребята, в чем ошибка понять не могу!!! чо ему скобка не угодила |
||||||||
|
|||||||||
| Deniz |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 6 Всего: 44 |
А поставь в самом конце какую-нибудь латинскую букву
-------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
| mediate |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 2.4.2008 Репутация: нет Всего: нет |
упростил немного... только я не думал, что так будет просто...я заморочился до разрывов в порядке не в 1, а в 2 и более, т.е. в последовательности, например, 1,4,5,7,12 найти среди пропущеных мин и макс... никто не знает - как это реализовать? тут уже не обойдешся +- 1 Давайте подумаем? |
|||
|
||||
| Deniz |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 6 Всего: 44 |
А что думать, в данном диапазоне min=2 max=11, и запрос это должен выдавать нормально.
-------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
| mediate |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 2.4.2008 Репутация: нет Всего: нет |
Deniz, ок. Скажем так - как получить список всех пропусков?
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |