我正在使用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/