Я пытаюсь выяснить, как объединить результаты из той же таблицы в двух базах mysql, используя codeigniter.Объединение результатов из 2 баз данных в codeigniter
Обе таблицы имеют одинаковые имена столбцов, но базы данных имеют разные настройки соединения.
Я сейчас пытаюсь это:
public function getAllNames() {
$sql1 = <<SQL
SELECT
id, name, CONCAT(name, ' (', id, ')') AS name2
FROM
db1.table
ORDER BY name
SQL;
$sql2 = <<SQL
SELECT
id, name, CONCAT(name, ' (', id, ')') AS name2
FROM
db2.table
ORDER BY name
SQL;
$q = $this->db->query($sql1." UNION ".$sql2);
return $q->result();
}
Сохранение же запроса для каждой базы данных в 2-х переменных затем пытается объединить их с помощью UNION. Однако это не может работать, потому что оно не распознает имена db как базы данных (и в любом случае у него не будет настроек соединения для каждого db таким образом). Я думаю, что ORDER BY тоже не в том месте. Я не уверен, где я должен указать db для каждого запроса или если этот метод будет работать вообще.
Любые идеи?
Я закончил делать это по-другому, так как я нашел, что столбцы, необходимые из каждой таблицы, были не совсем одинаковыми (хотя мне сообщили, что они были!), Но это сработало. Спасибо, Gautam3164. –