1

大家好,作为数据库和 Codeigniter 的初学者,您能帮助我吗?我们如何在活动记录中编写这个多重内连接和左连接查询。

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';

我有三个表供应商,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 数据库文档: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 回答