powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Приближенное значение
8 сообщений из 8, страница 1 из 1
Приближенное значение
    #39763415
insaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет,
помогите, пожалуйста, написать запрос, который выведет приближенное значение к таблице "O"

Источники:

Таблица "О"
"c"
2300 5
30000
45000
58000

Таблица "P"
"c", "p"
2300 0 ; 2
30000; 3
45000; 1
58000; 2
...
Рейтинг: 0 / 0
Приближенное значение
    #39763435
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
insaider,
Наверняка можно проще, но что-то вроде
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
DECLARE @c TABLE ( a INT)

INSERT INTO @c
VALUES
(22999),
(23004),
(23005),
(30000),
(45000),
(58000)

DECLARE @P TABLE ( a INT)

INSERT INTO @p
VALUES
(23000),
(30000),
(45000),
(58000)

SELECT 
*
FROM @P p
OUTER APPLY
(
	SELECT TOP 1 c
	FROM 	
	(
		SELECT MIN(a) as c
		FROM @C  
		WHERE  a >= p.a
		UNION ALL
		SELECT MAX(a) as c
		FROM @C  
		WHERE  a <= p.a
	) c
	WHERE c.c IS NOT NULL
	ORDER BY p.a - c.c DESC
) x
...
Рейтинг: 0 / 0
Приближенное значение
    #39763484
insaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK,

спасибо, подскажите, что делает вот это условие:

ORDER BY p.a - c.c DESC
...
Рейтинг: 0 / 0
Приближенное значение
    #39763486
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
insaiderTaPaK,

спасибо, подскажите, что делает вот это условие:

ORDER BY p.a - c.c DESC
там наверное правильней ABS(p.a - c.c) DESC
самое близкое из значений сверху и снизу
...
Рейтинг: 0 / 0
Приближенное значение
    #39763499
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и ASC жеж вместо DESC :)
...
Рейтинг: 0 / 0
Приближенное значение
    #39763502
insaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK,

Большое спасибо ! ;)
...
Рейтинг: 0 / 0
Приближенное значение
    #39763516
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKinsaiderTaPaK,

спасибо, подскажите, что делает вот это условие:

ORDER BY p.a - c.c DESC
там наверное правильней ABS(p.a - c.c) DESC
самое близкое из значений сверху и снизу

Опять учат плохому.
Правильнее - сделать два. Индексы поиимеют шансы...
...
Рейтинг: 0 / 0
Приближенное значение
    #39763522
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222TaPaKпропущено...

там наверное правильней ABS(p.a - c.c) DESC
самое близкое из значений сверху и снизу

Опять учат плохому.
Правильнее - сделать два. Индексы поиимеют шансы...
Сортировка по двум значением всего
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Приближенное значение
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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