CodeIgniter中2个不同数据库中2个表的联接查询

时间:2020-02-03 03:42:20

标签: php sql sql-server codeigniter

我有2个数据库需要加入。

这是我所拥有的查询,但是$db2仅适用于第二个数据库,$this->db->query仅适用于第一个数据库。

     $akses = $db2->query("select A.uName, A.userPwd, A.[Nomor Induk], B.id_jabatan, B.nama FROM tUser A
                                LEFT JOIN karyawan B ON B.nik = A.[Nomor Induk]
                                LEFT JOIN bagian_departemen C ON C.id_bagian_dept = B.id_bagian_dept
                                WHERE A.uName = '$username' AND A.userPwd = '$password'"
                            );

我想知道从2个数据库中连接2个表的语法。

数据库:

$db['default'] = array(
    'dsn' => '',
    'hostname' => 'localhost',
    'username' => 'root',
    'password' => '',
    'database' => 'helpdesk',
    'dbdriver' => 'sqlsrv',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => TRUE,
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'striction' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);

$db['another_db'] = array(
    'dsn' => '',
    'hostname' => 'localhost',
    'username' => 'root',
    'password' => '',
    'database' => 'produksi',
    'dbdriver' => 'sqlsrv',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => TRUE,
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'striction' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);

1 个答案:

答案 0 :(得分:0)

尝试这样:

$this->db->select("db1.table.column")
$this->db->join('db1.table', 'db1.table.column = db2.table.column');
$query = $this->db->get();
相关问题