2010-04-08 85 views
1

我有一个表单显示来自数据库查询的结果,这些结果可以有许多其他资产接入他们,我想找到一种方法来显示每个元素有多少资产。例如我的表是这里用户还活着,我现在有这样的代码英格兰的其他表有领域,Codeigniter有效记录选择,左连接,计数

$this->db->select('*'); 
$this->db->from('places'); 
$this->db->join('users, places.place_id = user.place_id, left'); 

$this->db->get(); 

我有越来越查询返回的地名和用户的居住人数的问题在那个地方,这是可能的?

回答

1
select places.place_id, 
     count(*) as UsersAtThisPlace 
    from 
     places, 
     users 
    where 
     places.place_id = users.place_id 
    group by 
     places.place_id 

并不确切地知道如何通过你的PHP实现,但它应该是因为上面的查询一样简单,一切尽在

$这个 - > DB->选择(“整个字符串上面的例子“);

此外,如果你有从地方台的其他描述性元素,你可以在数(只是为了清楚起见)之前添加为好,但也必须由...如

,包括他们的组
select places.place_id, 
     places.description, 
     places.otherfield, 
     count(*) as UsersAtThisPlace 
    from 
     places, 
     users 
    where 
     places.place_id = users.place_id 
    group by 
     places.place_id, 
     places.description, 
     places.otherfield 
5

不知道你的确切分贝的设置,但这样的事情是你将如何使用CodeIgniter的Active Record的做到这一点查询

$this->db->select('places.place_id'); 
$this->db->select_sum('places.place_id', 'total'); 
$this->db->from('places'); 
$this->db->join('users', 'places.place_id = user.place_id', 'left'); 
$this->db->group_by('user.place_id'); 
$this->db->get();