Как в одном 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