Как в одном sql запросе соединить две таблицы?

Есть две таблицы: 1)

site MRBTS eNBId
YA0010 870058 870058
YA0010 870061 870061
YA0010 870068 870068
YA0081 870068 870068
YA0081 870103 870103

2)

Sectorname tac
YA0010_013 40701
AN0061_011 40701
AN0061_012 40701
AN0061_013 40701
AN0065_011 40701

Как мне объединить таблицы, зная например что YA0010 что в первой и второй один и тот же? я настроил вторую таблицу с функцией SUBSTRING(Sectorname, 1, 6) AS BS_name, но я так понял в inner не возможно добавить SUBSTRING. вот мой запрос, как я думал чот можно объединить:

SELECT Config_all.config4g.Sectorname, Config_all.config4g.tac, Physical_param.Physical_param.site, Physical_param.Physical_param.MRBTS, Physical_param.Physical_param.eNBId
FROM Config_all.config4g
INNER JOIN Physical_param.Physical_param
ON Config_all.config4g.(SUBSTRING(Sectorname, 1, 6) AS BS_name)=Physical_param.Physical_param.site
WHERE Physical_param.Physical_param.region IN ('IR','SA','MD','KM','HB','BI','AN','YA')
LIMIT 10

Обязательно ли добавлять отдельную таблицу? нельзя это в одном запросе сделать?


Ответы (1 шт):

Автор решения: CrazyElf
ON Config_all.config4g.(SUBSTRING(Sectorname, 1, 6) AS BS_name)=Physical_param.Physical_param.site

Вы просто неправильно функцию SUBSTRING применяете, её нужно применять к полностью квалифицированному полю, не нужно отрывать схему и что там у вас ещё от названия поля:

ON SUBSTRING(Config_all.config4g.Sectorname, 1, 6)=Physical_param.Physical_param.site
→ Ссылка