我正在使用codeigniters sql选择来选择不在一组ID中的用户。

$this->db->select('fbuid')->where_in('fbuid', $friends);
$query   = $this->db->get('users');


即时通讯试图添加另一个子句,它检查而不是在朋友表(ID列)中。我试图增加使用

$this->db-where_not_in


但我似乎无法使它正常工作

继承人的伪代码SQL语句

SELECT fbuid FROM users WHERE IN () BUT NOT IN the friends TABLE ID COLUMN

最佳答案

尝试这个:

$query = $this->db->select('fbuid')
         ->from('users')
         ->where_in('fbuid', $friends)
         ->where_not_in('fbuid', $otherFriends);


编辑:

您可以先进行子查询,然后将其存储在数组中,或者一步完成:

$query = $this->db->select('fbuid')
             ->from('users')
             ->where_in('fbuid', $friends)
             ->where('`fbuid` NOT IN (SELECT `uid` FROM `another_table`)', NULL, FALSE);


NULL,FALSE很重要。

关于php - 在表A中,但不在CodeIgniter中的B中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26167729/

10-09 16:56