2017-02-11 1 views
0

aus diesen Daten, wie kann ich alle Benutzer holen, wo user_id in tbl_attendance nicht das aktuelle Datum mit application_status 3 und 4verschachtelt, wo Zustand in codeigniter

attendance_id user_id  date_in  attendance_status status 0=absent 1=present 3 = onleave 4 = onoff 
    1   1   2017-02-05  1 
    2   36   2017-02-11  4 
    3   36   2017-02-11  4 
    4   36   2017-02-11  3 
    5   1   2017-02-02  1 
    6   36   2017-02-01  1 

mein Code wie dieser

$date=date('Y-m-d'); 
$this->db->where('tbl_users.user_id NOT IN(SELECT user_id FROM tbl_attendance WHERE tbl_attendance.date_in= "'.$date.'")'); 

$this->db->where_in('tbl_attendance.attendance_status', array('3', '4')); 

ist mit wollen um diese zwei Linien zu kombinieren und den Ausgang zu erzeugen, wenn das aktuelle Datum in 3 oder 4 vorhanden ist, bitte helfen Sie mir

+1

MOVE IHRE ZWEITE WHERE Zustand in INNERHALB DER UNTER Abfrage wie folgt $ arbeiten this-> db-> where ('tbl_users.user_id NICHT IN (SELECT user_id VON tbl_attendance WHERE tbl_attendance.date_in! = "'. $ date. '" UND tbl_attendance.attendance_status IN (3,4))); – JYoThI

+0

danke Bruder. –

Antwort

0

Sie können versuchen, so. Um zwei Bedingungen zu kombinieren

$this->db->where("tbl_users.user_id NOT IN(SELECT user_id FROM tbl_attendance WHERE tbl_attendance.date_in='$date' AND tbl_attendance.attendance_status IN(3,4))"); 
0

Sie verwenden Query Builder zu sehen ...

$this->db->group_start() 
    $this->db->where_in('tbl_attendance.attendance_status', array('3', '4')); 
    $this->db->where_not_in('tbl_users.user_id', 'SELECT user_id FROM tbl_attendance WHERE tbl_attendance.date_in = '. $date, false) 
$this->db->group_end() 

sollte