2011-08-05 8 views
5

ile aynı tablodan KatıldıÇoklu SQL ben aynı tabloda referans numarası 2 sütunlu bir DB var Codeigniter

nasıl yaparım 2 aynı tabloya katılır yapmak ve veri çekme edebilmek.

$this->db->select('s.id, c.title, c.description, s.time ,s.day,s.instructor_change,s.studio_change,s.time_change,s.new_class,s.reservation_req,s.easy_does_it,s.mind,s.level,s.duration,s.location,i.first,i.last'); 
      $this->db->from('schedule as s'); 
      $this->db->join('instructors as i', 'i.id = s.instructor_id','inner'); 
      $this->db->join('classes as c', 'c.id = s.class_id'); 
      $this->db->where('s.active', '1'); 
      $this->db->where('s.day', $dayofweek); 
      $this->db->order_by('s.time',"ASC"); 

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

Ben de bu $ this-> db-> (katılmak 'eğitmen i olarak' 'i.id = s._alt_instructor_id gibi bir şey çekmek gerekir: Burada

ben ne var
');

Aynı tabloya iki kez nasıl katılırım, ancak aynı kayıttaki farklı bir kimlik için bu durumda birinci ve soyadı yeniden alabilir miyim? farklı

Cevap

$this->db->select('s.id, c.title, c.description, s.time ,s.day,s.instructor_change,s.studio_change,s.time_change,s.new_class,s.reservation_req,s.easy_does_it,s.mind,s.level,s.duration,s.location,i.first,i.last,a.first as alt_first,a.last as alt_last'); 
      $this->db->from('schedule as s'); 
      $this->db->join('instructors as i', 'i.id = s.instructor_id','left'); 
      $this->db->join('instructors as a', 'a.id = s.alt_instructor_id','left'); 
      $this->db->join('classes as c', 'c.id = s.class_id'); 
      $this->db->where('s.active', '1'); 
      $this->db->where('s.day', $dayofweek); 
      $this->db->order_by('s.time',"ASC"); 

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

cevap

6

Hemen takma it:

$this->db->join('instructors as ialt', 'ialt.id = s._alt_instructor_id'); 
+0

Ben SOL kullanıyorum çağırmak bu kimliği boş olabileceğinden, katılmak. Bunu SELECT içine koyduğumda, bu takma ismiyle çalıştığımda, – matthewb

+0

takma adında undefined bir dizin alıyorum, yardımınızla alabiliyordum, select deyiminde bir virgül çıkmıştım – matthewb

0
$this->db->select('*'); 
    $this->db->from('jobs'); 
    $this->db->join('company','company.cmp_name = jobs.cmp_name'); 
    $this->db->where('company.location', $data['location']);**strong text**