1

こんにちは皆さん、データベースとコードイグナイターの初心者として私を助けてください。この複数の内部結合と左結合のクエリをアクティブなレコードにどのように記述すればよいでしょうか。

SELECT suppliers.*, category.strCategory, category_1.strCategory AS strParent, 
tblcitylist.city_name
FROM ((suppliers INNER JOIN category ON suppliers.intCat=Category.intId) INNER JOIN tblcitylist ON 
suppliers.intCity=tblcitylist.city_id) LEFT JOIN category AS category_1 ON 
category.intParent=Category_1.intId
WHERE status='y';

私は 3 つのテーブルのサプライヤー、tblcitylist とカテゴリを持っています。intCat と intCity を持つサプライヤのデータをフェッチして、都市名 (city_name) とカテゴリ名 (strCategory) を持つサプライヤ テーブルのデータを取得します。ありがとう

4

2 に答える 2

1

おそらくこれはあなたが求めているものです...

$query = $this->db->select('suppliers.*, category.strCategory, category_1.strCategory AS strParent, tblcitylist.city_name')
            ->from('suppliers')
            ->join('category',                  'suppliers.intCat=Category.intId',          'inner')
            ->join('tblcitylist',               'suppliers.intCity=tblcitylist.city_id',    'inner')
            ->join('category as `category_1',   'category.intParent=Category_1.intId',      'left')
            ->where('status','y')
                ->get();

CI DB ドキュメント: https://www.codeigniter.com/user_guide/database/index.html

于 2013-01-25T22:51:21.970 に答える
0

これは、ストレート SQL を使用する方が簡単な場合のようです。実行速度が速いことは言うまでもありません。

$sql = "SELECT........";
$query = $this->db->query($sql);
于 2013-01-25T07:58:37.193 に答える