sql >> Database teknologi >  >> RDS >> Mysql

codeigniter mysql venstre join include select

Du kan bruge underforespørgselsmetoden for codeigniter til at gøre dette til dette formål, du bliver nødt til at hacke codeigniter. som detteGå til system/database/DB_active_rec.php Fjern offentlige eller beskyttede søgeord fra disse funktioner

public function _compile_select($select_override = FALSE)
public function _reset_select()

Nu er underforespørgsel skrivning tilgængelig Og nu er her din forespørgsel med aktiv registrering

$select =   array('DISTINCT c2_id','f_id','f_name');
$this->db->select($select);
$this->db->from('file');
$this->db->order_by('f_id','DESC');
$subQuery1 = $this->db->_compile_select();

unset($select);

$this->db->_reset_select();

$select =   array('DISTINCT c2_id','f_id','f2_name');
$this->db->select($select);
$this->db->from('file2');
$this->db->order_by('f2_id','DESC');
$subQuery2 = $this->db->_compile_select();

unset($select); 

$this->db->_reset_select();

// And now your main query

$select =   array(
                  'c1.c1_id',
                  'c1.c1_name',
                  'c2.c2_id',
                  'c2.c2_name',
                  'c2.c2_type',
                  'c2.c2_status',
                  'f.f_id',
                  'f.f_name',
                  'f2.f2_id',
                  'f2.f2_name'
            );

$this->db->select($select);
$this->db->from('category2 c2');
$this->db->join("($subQuery1)",'f.c2_id = c2.c2_id','left');
$this->db->join("($subQuery2)",'f2.c2_id = c2.c2_id','left');
$this->db->where('c2.c2_status',1);
$this->db->group_by('c2.c2_id');
$main_query = $this->db->get();

Og sagen er gjort. Skål!!!Bemærk:Mens du bruger underforespørgsler, skal du bruge

$this->db->from('myTable')

i stedet for

$this->db->get('myTable')

som kører forespørgslen.

Nu kan du kontrollere forespørgsel, der er bygget som

echo $this->db->last_query();


  1. MySQL deaktiver alle triggere

  2. Udløses kun, hvis en betingelse er opfyldt i SQL Server

  3. Opdatering af MySQL primær nøgle

  4. SQLite Hvor