powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Интересная задачка
4 сообщений из 4, страница 1 из 1
Интересная задачка
    #32003979
Фотография Leonid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Встретился с интересной задачкой. Решить не удалось,
но как утверждается, решение должно быть однозначно.
Задача:
Предположим есть таблица с полем, хранящим целые числа 1, 2, 3, 4, 5,....
Нужно выбрать в одном операторе SELECT строки из этой таблицы удовлетворяющие
определенной последовательности по этому полю.
Например: 0, 4(+4), 7(+3), 9(+2), 13(+4), 16(+3), 18(+2), 22(+4), ...

Как это сделать то?????
...
Рейтинг: 0 / 0
Интересная задачка
    #32003989
Slawa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решений как минимум два, может быть есть и ещё.

SELECT Num FROM NUMBERS
WHERE Num = 0 or (Num - 4)%9 = 0 or (Num - 7)%9 = 0 or (Num - 9)%9 = 0

SELECT n.Nabor FROM (
SELECT CASE
WHEN Num = 0 THEN Num
WHEN (Num - 4)%9 = 0 THEN Num
WHEN (Num - 7)%9 = 0 THEN Num
WHEN (Num - 9)%9 = 0 THEN Num
END as Nabor
FROM NUMBERS) n WHERE not n.Nabor is null
...
Рейтинг: 0 / 0
Интересная задачка
    #32003992
Slawa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой звиняюсь, перемудрил немного.

SELECT Num FROM NUMBERS
WHERE Num%9 = 0 or (Num - 4)%9 = 0 or (Num - 7)%9 = 0
...
Рейтинг: 0 / 0
Интересная задачка
    #32003993
Slawa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И наверное короче уже нельзя.

SELECT Num FROM NUMBERS
WHERE Num%9 in (0,4,7)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Интересная задачка
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]