1

JOIN ASを実行するためのユーザーガイドに関する情報が見つかりません。これが私がやろうとしていることです:

SELECT 
c.id
,c.name AS companyName
,con.id AS conID
,l.id AS lid

FROM
     company AS c
LEFT JOIN
     contacts AS con ON
     c.primary_contact = con.id
LEFT JOIN
     locations AS l ON
    c.id = l.cid

誰かが簡単な解決策を持っているか、ASステートメントで見つけられないように見えるガイドのセクションを教えてください

4

3 に答える 3

0

このようにしてみてください

SELECT 
    c.id
   ,c.name AS companyName
   ,con.id AS conID
   ,l.id AS lid

FROM
   company c
LEFT JOIN
   contacts con ON
   c.primary_contact = con.id
LEFT JOIN
   locations l ON
   c.id = l.cid

AS でも結合テーブル名を指定する必要はありません。テーブル名の後に名前を付けると、結合するテーブルに自動的にエイリアスが設定されます。

Ciのように試してください

$this->db->select('c.id
                  ,c.name AS companyName
                  ,con.id AS conID
                  ,l.id AS lid'); 
$this->db->from('company c');        
$this->db->join('contacts con','c.primary_contact = con.id','left');
$this->db->join('locations l','c.id = l.cid','left');       
于 2013-06-06T04:44:31.700 に答える
0
$this->db->select('t1.*, t2.*')
         ->join('table2 AS t2', 't1.column = t2.column', 'left');

return $this->db->get('table1 AS t1')->result();
于 2013-06-06T15:45:21.537 に答える
0

これについてはよくわかりませんが、これを試してみてください:

$this->db->select('company.id','name','contacts.id','locations.id');
$this->db->from('company');
$this->db->join('contacts','company.primary_contact = contacts.id','left');
$this->db->join('locations','contacts.id = locations.id','left');
于 2013-06-06T05:43:20.023 に答える