【ciフレームワーク】ciフレームワーククエリーにおけるjoinの使用
3343 ワード
このIDがpeopleテーブルにある情報をAテーブルの各IDで問い合わせる.文は次のとおりです.
このIDがBテーブルにある情報をAテーブルの各IDで問い合わせる.
SQLの約束に注意してください.1つのカラム名が2つのテーブルで重複している場合は、カラム名の前にテーブル名と「.」番号を付ける必要があります.そのためsites.idは位置テーブルの中でidが存在するテーブルがsitesであることを意味します.SQLマルチテーブルクエリーを行うときは、カラム名を一意性の標識にすると、曖昧さを避けることができ、自分で明らかにすることができます.
次の文を実行します.
クエリーで複数の接続を使用する場合は、この関数を複数回呼び出すことができます.
JOINのタイプを指定する必要がある場合は、この関数の3番目のパラメータで指定できます.オプションには、left、right、outer、inner、left outer、right outerがあります.
$this->db->from('A');
$this->db->join('B', 'sites.id = B.id');
このIDがBテーブルにある情報をAテーブルの各IDで問い合わせる.
SQLの約束に注意してください.1つのカラム名が2つのテーブルで重複している場合は、カラム名の前にテーブル名と「.」番号を付ける必要があります.そのためsites.idは位置テーブルの中でidが存在するテーブルがsitesであることを意味します.SQLマルチテーブルクエリーを行うときは、カラム名を一意性の標識にすると、曖昧さを避けることができ、自分で明らかにすることができます.
次の文を実行します.
- $this->db->select('*');
- $this->db->from('blogs');
- $this->db->join('comments', 'comments.id = blogs.id');
-
- $query = $this->db->get();
sql
SELECT * FROM blogs JOIN comments ON comments.id = blogs.id
クエリーで複数の接続を使用する場合は、この関数を複数回呼び出すことができます.
JOINのタイプを指定する必要がある場合は、この関数の3番目のパラメータで指定できます.オプションには、left、right、outer、inner、left outer、right outerがあります.
$this->db->join('comments', 'comments.id = blogs.id', 'left');
// : LEFT JOIN comments ON comments.id = blogs.id