我想了解如何結合使用codeigniter的2個mysql數據庫中的同一個表的結果。在codeigniter中結合來自2個數據庫的結果
這兩個表具有相同的列名,但數據庫具有不同的連接設置。
目前,我正在嘗試此:
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將它們組合在一起。但是,這不能工作,因爲它不能將數據庫名稱識別爲數據庫(並且它不會以這種方式爲每個數據庫設置連接設置)。我認爲ORDER BY在這裏也是錯誤的地方。我不知道我應該在哪裏爲每個查詢指定數據庫,或者如果此方法可以工作。
任何想法?
我最終做了一個不同的方式,因爲我發現從每張表需要的列不完全相同(儘管我被告知他們是!),但這工作。謝謝你,Gautam3164。 –