AlsoSett
Новичок
Добрый день. Хотелось бы узнать решаема ли задача по 1 запросу SQL :
Есть 2 схемы Base1 и GeoIP.
В Схеме Base 1 есть 2 таблицы Account, Account_list
Столбцы Account - id, IP
Столбцы Account_list - id, date
В Схеме GeoIP есть таблица Country_IP
Столбцы Country_IP - region, start_IP, end_IP
Таким образом мы получили таблицу с полями ID , IP, DATA
Теперь бы хотелось добавить 4 поле Region из таблицы Country_IP базы GeoIP
но явного соответствия между таблицами нету, но есть условие наше поле IP должно быть в промежутке значений 2 полей start_IP, end_IP (нечто вроде ac.ip BETWEN Country_IP.start_IP AND Country_IP.end_IP )
Но сделать напрямую JOIN по такому условию не получается...
Если есть возможность в 1 запрос получить таблицу (ID,IP,DATA,Region) подскажите как.
Заранее спасибо.
Есть 2 схемы Base1 и GeoIP.
В Схеме Base 1 есть 2 таблицы Account, Account_list
Столбцы Account - id, IP
Столбцы Account_list - id, date
В Схеме GeoIP есть таблица Country_IP
Столбцы Country_IP - region, start_IP, end_IP
Код:
SELECT
ac.id `ID`,
ac.ip `IP`,
acl.date `DATA`
FROM account ac
LEFT JOIN account_list acl ON acl.Id = ac.id
WHERE acl.date BETWEEN '2016-5-1' AND '2016-5-2'
GROUP BY ac.id
ORDER BY ac.id DESC
Теперь бы хотелось добавить 4 поле Region из таблицы Country_IP базы GeoIP
но явного соответствия между таблицами нету, но есть условие наше поле IP должно быть в промежутке значений 2 полей start_IP, end_IP (нечто вроде ac.ip BETWEN Country_IP.start_IP AND Country_IP.end_IP )
Но сделать напрямую JOIN по такому условию не получается...
Если есть возможность в 1 запрос получить таблицу (ID,IP,DATA,Region) подскажите как.
Заранее спасибо.