2017-02-03 6 views
-2

mit Code-Zünder! Ich habe zwei Tabellen Student und student_class mit Fremdschlüssel STUDENT_ID, ich möchte Daten auszuwählen, die auf Schülertisch vorhanden ist, aber nicht auf class_studentAuswahl aus Daten, die in einer Tabelle existieren, aber nicht in einer anderen Tabelle existieren

hier ist mein SQL

function student_class(){ 
    $this->db->SELECT ('student.student_id, student.firstname, student.middlename, student.lastname'); 
    $this->db->FROM('student'); 
    $this->db->WHERE('student.status',0); 
    $this->db->JOIN('student_class', 'student_class.student_id=student_class.student_id', 'left'); 
    $this->db->where_not_in('student_class.student_id'); 
    $query =$this->db->get(); 
    return $query->result_array(); 
} 

es nicht klappt !! kann ich Hilfe bekommen ..

+1

Hinweis: Sie sollten diese http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work lesen und diese auf alle Lösungen anwenden, die für frühere Fragen angegeben wurden. –

+0

@Claudius Massery hast du folgende Antwort versucht. –

Antwort

0

wie die Sie interessieren ..

zunächst alle Schüler-IDs finden, die mit student_class table.Then $this->db->where_not_in verwenden, um Ihre gewünschte Ergebnis abgestimmt sind.

function student_class(){ 
     $this->db->select ('student.student_id'); 
     $this->db->from ('student'); 
     $this->db->join('student_class', 'student.student_id=student_class.student_id', 'left'); 
     $this->db->where('student.status',0); 
     $data = $this->db->result_array();//array of matched id's 

     $this->db->select('student_id,firstname, middlename,lastname'); 
     $this->db->from('student'); 
     $this->db->where_not_in($data); 
     $query = $this->db->get(); 

     return $query->result_array(); 
    } 

Ich hoffe, es wird funktionieren.

Verwandte Themen