Codeigniter SQL加入多个ON子句?

时间:2011-07-18 05:24:33

标签: sql codeigniter join

这是codeigniter显示的SQL查询:

  

SELECT * FROM(status_updates)JOIN friend_connections ON((   status_updates.userid = friend_connections.userid)或   (status_updates.userid = friend_connections.friend_id))WHERE   status_updates.enabled =“1”AND friend_connections.enabled =“1”   ORDER BY status_updates.date desc,status_updates.time desc LIMIT 20

我使用的Codeigniter命令是:

$this->db->from('status_updates');
$this->db->order_by("status_updates.date", "desc");
$this->db->order_by("status_updates.time", "desc");
$this->db->limit(20);
$this->db->join('status_updates', '((status_updates.userid=friend_connections.userid) OR (status_updates.userid=friend_connections.friend_id))');

我要做的是选择两个表中的所有内容,status_updates和friend_connections。 status_updates有一列userid,我想与friend_connections中的userid或friend_id匹配。有人能告诉我怎么能这样做吗?

另外我注意到codeigniter在上面的sql查询中的ON命令之后删除了两个左括号。

1 个答案:

答案 0 :(得分:0)

复制您自己的答案,以便从未答复的堆栈中删除它:

$sql = "SELECT * FROM (status_updates) JOIN friend_connections ON ((status_updates.userid=friend_connections.userid) OR (status_updates.userid=friend_connections.friend_id)) WHERE status_updates.enabled = "1" AND friend_connections.enabled = "1" ORDER BY status_updates.date desc, status_updates.time desc LIMIT 20";
$status = $this->db->query($sql);

请不要投票。这不是我的答案。