我尝试使用以下sql查询在多个数据库上运行查询:
// Collect clients db name
$dbs = array();
foreach($cafes as $cafe)
{
$dbs[] = $cafe->db_name; // client_7
}
// Run multi database query
foreach($dbs as $db)
{
$this->db->select("$db.orders.*,(select count($db.order_items.id) from $db.order_items where $db.order_items.siparis_id = orders.id) as urun_sayisi, (select sum($db.order_items.tutari) from $db.order_items where $db.order_items.siparis_id = orders.id) as price");
}
$this->db->get()->result();
在上面的示例中,我有咖啡馆客户端,每个客户端都有自己的名为ex:client_7的数据库。我正在尝试列出所有客户订单。我在上面的查询中遇到以下错误:
未知的表格' client_7'在字段列表中
如何列出来自多个数据库的订单表上的所有行?
答案 0 :(得分:3)
请在表名前提及数据库名称.. 例如
SELECT userid FROM db1.user;
SELECT userid FROM db2.user;
答案 1 :(得分:0)
试试这个:
<?php
$secound_db= $this->load->database('database_two', TRUE);
$query = $secound_db->get('person');
var_dump($query);