Хорошо всем и заранее спасибо за ваше внимание.У меня такой вопрос:
У меня есть таблица с приблизительно 700 данными с автоинкрементным идентификатором и с этими полями:
| id | pos_1 | pos_2 | pos_3 |
+------+------+------+------+
| 1 | 9 | 2 | 3 |
| 2 | 3 | 2 | 9 |
| 3 | 1 | 4 | 3 |
| 4 | 1 | 2 | 3 |
| 5 | 5 | 1 | 6 |
| 6 | 1 | 2 | 3 |
| 7 | 8 | 2 | 0 |
| ...| ... | ... | ... |
| etc| etc | etc | etc |
+------+------+------+------+
Бывает, что я всегдавыполнить запрос, который содержит несколько выборок и общее условие, все объединенные «UNION» следующим образом:
from listado T1
where pos_1 = *** and pos_2 = *** and pos_3 = *** and exists (
select id
from listado T2
where
T2.pos_1 = *** and pos_2 = *** and pos_3 = ***
and T2.id >= T1.id - 10
and T2.id <= T1.id + 10
and T1.id != T2.id )
UNION
select *
from listado T3
where pos_1 = *** and pos_2 = *** and pos_3 = *** and exists (
select id
from listado T4
where
T4.pos_1 = *** and pos_2 = *** and pos_3 = ***
and T4.id >= T3.id - 10
and T4.id <= T3.id + 10
and T3.id != T4.id )
UNION
select *
from listado T5
where pos_1 = *** and pos_2 = *** and pos_3 = *** and exists (
select id
from listado T6
where
T6.pos_1 = *** and pos_2 = *** and pos_3 = ***
and T6.id >= T5.id - 10
and T6.id <= T5.id + 10
and T5.id != T6.id )
ORDER BY id ASC
таким образом, что этот запрос возвращает строки, которые соответствуют числам, которые я ввел всоответствующие позиции (pos_1, pos_2, pos_3) таблицы, НО с условием, что РЕЗУЛЬТАТЫ этого поиска не ОТЛИЧАЮТСЯ друг от друга более 10 ПОЗИЦИЙ на ID, как вы можете видеть, что я делаю с фрагментом:
and T***.id <= T***.id + 10
and T***.id != T***.id )
До сих пор все правильно, проблема в том, что при выполнении этого запроса, как он сделан, РЕЗУЛЬТАТЫ, которые я возвратил, являются SELECTS независимо друг от друга, то есть, он показывает только те данные, к которым я обращаюсь индивидуальноГРУППОВЫЕ ВЫБОРЫ других ... Я имею в виду, что вы пропускаете ВСЕ результаты, которые смешивают строки 3 ВЫБОРОВ, если этотак и должно быть, потому что он отображается в таблице.Я получаю результаты ОТДЕЛЬНО, и мне нужно, чтобы ВЫБОРЫ были объединены в один ВЫБОР, а не разделяли меня и не делили результаты на три разных ВЫБОРКА ... и я понятия не имею, как выполнить запрос, чтобы сделать это ..Совместное использование условия, чтобы результаты не отличались друг от друга идентификатором более чем на 10 позиций и совместно ДЛЯ ПРИМЕРА строка результата SELECT nº1 находится в пределах строки результата SELECT Nº2 или Nº3, если это должно быть, потому что это такВ таблице ...
Спасибо:)