Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Найти пару записей с минимальным расстоянием / 6 сообщений из 6, страница 1 из 1
30.12.2015, 15:52
    #39140711
Evgeny Melnik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти пару записей с минимальным расстоянием
Помогите составить запрос
Есть база
ID t1 t2
1 a 11
2 b 16
3 x 18
4 t 25
5 e 11
6 t 19
7 j 32

нужно найти пару записей (например для т2=11 и т2=32), причем расстояние должно быть минимальным и между ними не должно встречаться т1=х. Т.е. в данном случае нужно найти записи с ID 5 и 7.
...
Рейтинг: 0 / 0
30.12.2015, 16:39
    #39140737
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти пару записей с минимальным расстоянием
Evgeny Melnik,
Почему не id=1, а id=5 (каков критерий отбора)
и поясните это: Evgeny Melnik....причем расстояние должно быть минимальным и между ними не должно встречаться т1=х....чему равен Х
...
Рейтинг: 0 / 0
30.12.2015, 17:13
    #39140756
Evgeny Melnik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти пару записей с минимальным расстоянием
sdku, есть пара значений 3го столбца (например 11 и 32). Мне нужно выбрать пару записей базы, с наименьшим количеством записей между ними. В данном примере есть две пары со значениями 3го столбца 11 и 32: строки 1, 7 и строки 5, 7. Нужно выбрать 5, 7 так как между ними меньше записей. Дополнительное условие - отсутствие в диапазоне значения "х" во втором столбце. После мне нужно будет сложить все строки 2го столбца в одну строку. Т.е. здесь мне надо будет получить строку "etj"
...
Рейтинг: 0 / 0
30.12.2015, 22:34
    #39140883
guest_rusimport
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти пару записей с минимальным расстоянием
Evgeny Melnik,
при условии , что ID непрерывно возрастает
...
Рейтинг: 0 / 0
04.01.2016, 23:44
    #39142185
Evgeny Melnik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти пару записей с минимальным расстоянием
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
select top 1 id1, id2  from
(
select 
[1].id  as id1, 
[2].id as id2,
abs([1].id-[2].id) as s,
(SELECT count(*) FROM tblCube WHERE turn='X' and tblCube.ID between [1].id  and [2].id) as X
from tblCube as [1]
inner join
tblCube as [2]
on ([1].after like '????1???????????2??????????4??????????????5?????6????6' 
and
[2].after like '????1???????????2???????????????????????????????6?????'
and
[1].id<>[2].id)
) AS [3]
where X=0 and 
s=(select min(s) from [3])



ругается что ядру субд не удается найти входную таблицу или запрос 3.
Что может быть не так?
...
Рейтинг: 0 / 0
04.01.2016, 23:57
    #39142189
Найти пару записей с минимальным расстоянием
Evgeny Melnik
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
select top 1 id1, id2  from
(
select 
[1].id  as id1, 
[2].id as id2,
abs([1].id-[2].id) as s,
(SELECT count(*) FROM tblCube WHERE turn='X' and tblCube.ID between [1].id  and [2].id) as X
from tblCube as [1]
inner join
tblCube as [2]
on ([1].after like '????1???????????2??????????4??????????????5?????6????6' 
and
[2].after like '????1???????????2???????????????????????????????6?????'
and
[1].id<>[2].id)
) AS [3]
where X=0 and 
s=(select min(s) from [3])



ругается что ядру субд не удается найти входную таблицу или запрос 3.
Что может быть не так?
вот это: select min(s) from [3] хочет выбирать из таблицы/запроса с именем 3

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


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