Я пытаюсь сделать INNER JOIN на двух таблицах, имеющих похожие значения, но не совсем одинаковые. Одна таблица имеет полное имя хоста для своего первичного ключа, а другое - короткое имя хоста, а также субдомен. Можно с уверенностью предположить, что краткое имя и субдомен вместе уникальны.JOIN на ключах, которые не имеют одинакового значения
Так что я пробовал:
SELECT table1.nisinfo.* FROM table1.nisinfo INNER JOIN table2.hosts ON (table1.nisinfo.shortname + '.' + table1.nisinfo.subdomainname + '.domain.com') = table2.hosts.fqhn WHERE table2.hosts.package = 'somepkg';
Это не возвращает результаты, которые я ожидать, она возвращает первый результат в сотни раз. Я хотел бы вернуть отдельные строки. Также требуется много времени для запуска.
Что я делаю неправильно? Я думал о запуске подзапроса, чтобы получить имена хостов, но я не знаю, что такое правильный путь.
Спасибо!
Вы можете поделиться обеими табличными структурами? –