2012-01-13 42 views
2

你好我用笨的記錄,我有這樣的如何從一列,是不是在另一列笨

enter image description here

我想所有的記錄,其中PreferenceID值不是表在PreferenceParentID

在這種情況下,我也適合表EntityID。和PreferenceParentID建議立即進行刪除是!= 0

想我濾鏡通過entityID53

我的結果是建議立即進行刪除

Couture , Denims 

因爲PreferenceID是不是在這兩種情況下PreferenceParentID。我嘗試了where_not_in(),但無法做到。請幫助

這是我的查詢

$table = $this->mastables['shop_profile_preferences']; 
    $this->db->select('a.ProfilePreferenceID'); 
    $this->db->from($table." as a"); 

    $where2 = "(SELECT a.PreferenceParentID FROM ".$table.")"; 
    $this->db->where_not_in('a.PreferenceID', $where2); 

    $this->db->where("a.EntityID",$shop_id); 
    $this->db->where('a.PreferenceParentID !=',0); 

    $query=$this->db->get(); 

    if($query->num_rows()>0) 
    { 
     return $query->result_array(); 
    } 
    else 
    { 
     return FALSE; 
    } 

我查詢的結果是

Array 
(
    [0] => Array 
     (
      [ProfilePreferenceID] => 274 
     ) 

    [1] => Array 
     (
      [ProfilePreferenceID] => 275 
     ) 

    [2] => Array 
     (
      [ProfilePreferenceID] => 276 
     ) 

) 

如何使用where_not_in()正常。或ids有其他方法。請幫忙..... 提前致謝。

UPDATE

$table = $this->mastables['shop_profile_preferences']; 
    $this->db->select('a.ProfilePreferenceID,a.ProfilePreferenceValue'); 
    $this->db->from($table." as a"); 

    $this->db->where('a.PreferenceParentID !=',0); 
    $this->db->where('a.PreferenceID NOT IN (SELECT a.PreferenceParentID FROM '.$table.')', NULL, FALSE); 
    $this->db->where("a.EntityID",$shop_id); 

    $query=$this->db->get(); 

    if($query->num_rows()>0) 
    { 
     return $query->result_array(); 
    } 
    else 
    { 
     return FALSE; 
    } 

回答

4

你不能做到這一點與CodeIgniter的where_not_in()。因爲第二個參數應該是一個數組而不是像這樣的字符串。

你可以做的是使用通常的where()方法。

$this->db->where('a.PreferenceID NOT IN (SELECT a.PreferenceParentID FROM `table_name`)', NULL, FALSE); 

在你想知道的情況下,在上面的代碼中的第三個參數是爲了防止從笨要保護現場和表名與反引號。

+0

毫米仍然不工作相同reslut顯示。 – 2012-01-13 09:56:54

+0

我改變了我的查詢$ this-> db-> where('a.PreferenceID NOT IN(SELECT a.PreferenceParentID FROM'。$ table。')',NULL,FALSE); – 2012-01-13 09:57:15

+0

@KanishkaPanamaldeniya你可以用更新的代碼更新你的文章嗎? – 2012-01-13 10:20:57