Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Функция/запрос, 3 ближайших числа / 11 сообщений из 11, страница 1 из 1
13.05.2020, 15:01
    #39956885
RuRed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция/запрос, 3 ближайших числа
Исходный код:

Код: 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.
CREATE database TEST
GO

USE TEST
GO

CREATE TABLE tab1(
column1 varchar(10) NOT NULL,
column2 int NOT NULL
) 
GO

INSERT INTO tab1 (column1,column2)
VALUES ('X',10),
 ('X',10),
 ('X',11),
 ('X',12),
 ('X',13),
 ('X',14),
('Y', 5),
('Y', 6),
('Y', 7),
('Y', 8),
('Y', 9)

GO




Пожалуйста запрос который вернет три ближайших числа для X к числу 12 для X и 3 ближайших числа к числу 7 для Y
...
Рейтинг: 0 / 0
13.05.2020, 15:06
    #39956889
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция/запрос, 3 ближайших числа
Критерий близости какой?
Порядковый номер или дельта к исходному значению?
...
Рейтинг: 0 / 0
13.05.2020, 15:07
    #39956891
RuRed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция/запрос, 3 ближайших числа
Пожалуйста помогите написать функцию которая возвращает 3 ближайших числа к указанным выше числам
...
Рейтинг: 0 / 0
13.05.2020, 15:08
    #39956892
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция/запрос, 3 ближайших числа
RuRed,

Пожалуйста, не изображайте попугая, и отвечайте на вопросы.


Что должно вернуться для Y + 7 при таких данных:

Код: sql
1.
2.
3.
4.
5.
('Y', 1),
('Y', 2),
('Y', 7),
('Y', 8000),
('Y', 9000)



?
...
Рейтинг: 0 / 0
13.05.2020, 15:13
    #39956900
RuRed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция/запрос, 3 ближайших числа
Гавриленко Сергей Алексеевич,

пример ответа примерно такой

x - 11
x - 12
x - 13
у - 6
y - 7
y - 8
...
Рейтинг: 0 / 0
13.05.2020, 15:15
    #39956906
RuRed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция/запрос, 3 ближайших числа
Гавриленко Сергей Алексеевич,

y-7,
y-8000
y-9000
...
Рейтинг: 0 / 0
13.05.2020, 15:17
    #39956910
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция/запрос, 3 ближайших числа
RuRed
Гавриленко Сергей Алексеевич,

пример ответа примерно такой

x - 11
x - 12
x - 13
у - 6
y - 7
y - 8


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
declare
  @column1 varchar(10) = 'X'
  , @column2 int = 12

select top 3
  *
from tab1 a
where
  a.column1 = @column1
order by
  abs ( a.column2 - @column2 )
...
Рейтинг: 0 / 0
13.05.2020, 15:18
    #39956915
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция/запрос, 3 ближайших числа
RuRed
Гавриленко Сергей Алексеевич,

y-7,
y-8000
y-9000
Тогда рассказывайте, что по вашему есть "близость".
...
Рейтинг: 0 / 0
13.05.2020, 16:24
    #39956960
RuRed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция/запрос, 3 ближайших числа
Гавриленко Сергей Алексеевич,

('Y', 1),
('Y', 2),
('Y', 7)
Ближайшее к оси 2))) Спасибо за функцию думаю над ней...
...
Рейтинг: 0 / 0
13.05.2020, 22:21
    #39957145
RuRed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция/запрос, 3 ближайших числа
Гавриленко Сергей Алексеевич,

Пожалуйста подскажите синтаксис создания функции, которая принимает одно значение, а возвращает три, не совсем понимаю куда писать переменные которые возвращает функция....
...
Рейтинг: 0 / 0
13.05.2020, 23:59
    #39957171
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция/запрос, 3 ближайших числа
RuRed,

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


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