У меня есть 2 таблицы, Таблица1 имеет диапазоны адресов, Таблица2 имеет точные адреса. Все поля в обеих таблицах являются символами. Мне нужно определить адреса в таблице 2, которые попадают между диапазонами номеров домов в таблице 1. Пожалуйста, смотрите ниже, например. У меня есть объединение на улице, городе, штате и HSE # между LOW и HIGH. Результаты возвращают записи ТАБЛИЦА 1 как 1201 - 1214, так и 101 - 126. Преобразование значений в целые числа не работает, потому что некоторые адреса содержат буквенные символы .... 101B, например, номер дома. Можете ли вы помочь определить лучший и самый точный способ выполнения sh этого?
Table1
LOW HIGH STREET CITY STATE
101 126 A ST MYCITY MYSTATE
1201 1214 A ST MYCITY MYSTATE
TABLE2
HSE# STREET CITY STATE
1203 A ST MYCITY MYSTATE
SELECT *
FROM TABLE1 A,
TABLE2 B
WHERE B.STATE = A.STATE
AND B.CITY = A.CITY
AND B.STREET = A.STREET
AND B.HSE# BETWEEN A.LOW AND A.HIGH;
Это возвращает обе записи TABLE1 в примере ниже. Ожидаемый результат заключается в том, что я получаю только значение TABLE1 с диапазоном LOW / HIGH 1201/1214, поскольку это действительно диапазон, в который входит номер дома.