Как выполнить сложный запрос диапазона в MySQL

У меня есть таблица (таблица A) с полем целых чисел (поле B). Для каждой строки таблицы A я хотел бы построить диапазон +/- 100 вокруг целочисленного значения поля B, а затем найти все значения из поля B, которые находятся в этих диапазонах. Запрос должен быть выполнен для всех значений в поле B. Запрос должен вернуть все строки, которые находятся в пределах каждого диапазона. Вот пример того, что я пытаюсь сделать:

Table A
_______
A    1000    
B    3000    
C    5000    
D    1090   

Используя приведенную выше таблицу A, запрос сначала найдет диапазоны (+/- 100) для всех целых чисел в поле B.

900 - 1100
2900 - 3100
4900 - 5100
990 - 1190

Затем запрос выполнит итерацию по этим диапазонам и вернет строки из таблицы A, которые попадают в созданные диапазоны. Используя приведенный выше пример, запрос вернет:

A    1000
A    1000
B    3000
C    5000
D    1090
D    1090

A и D возвращаются дважды, потому что они попадают в свои собственные диапазоны. Как я могу построить запрос, который вернет каждую строку, которая попадает в диапазон каждой строки? Заранее спасибо за помощь.

0
задан drbunsen 21 November 2011 в 14:38
поделиться