加入两个MySQL查询并基于第一个查询中的值检索

问题描述:

我想在CodeIgniter中一起加入两个查询,第二个查询将依赖来自第一个查询的值。我希望得到的数组包含公告表中的所有数据,PLUS根据第一个查询中的poster_id从用户表中检索到的第一个和最后一个名称。加入两个MySQL查询并基于第一个查询中的值检索

例如,在伪代码:

SEECT * FROM announcements JOIN SELECT first, last FROM users WHERE user_id = announcements.poster_id

这里是我的代码:

$this->db->order_by('time_posted', 'DESC'); 
$query = $this->db->get('announcements'); 
$results = $query->result(); 

这是可能的,我怎么会修改这包括上述连接查询?

+0

来吧。从基础开始。我们都必须。 – Strawberry

你可以尝试,做一个适当的加入:

$this->db->select('a.*, u.first, u.last'); 
$this->db->from('announcements a'); 
$this->db->join('users u', 'u.user_id = a.poster_id'); 
$this->db->order_by('time_posted', 'DESC'); 
$query = $this->db->get(); 

你也可以试试这个。

$this->db->select('announcements.*, users.first, users.last'); 
$this->db->from('announcements'); 
$this->db->join('users', 'users.user_id = announcements.poster_id'); 
$this->db->order_by('time_posted', 'DESC'); 
$query = $this->db->get(); 
$results = $query->result();