Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

codeigniter mysql trái tham gia bao gồm chọn

Bạn có thể sử dụng cách truy vấn phụ của codeigniter để làm điều này vì mục đích này, bạn sẽ phải hack codeigniter. như thế này Chuyển đến system / database / DB_active_rec.php Xóa từ khóa công khai hoặc được bảo vệ khỏi các chức năng này

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

Hiện đã có sẵn truy vấn con đang ghi và đây là truy vấn của bạn với bản ghi đang hoạt động

$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();

Và điều đã được thực hiện. Chúc mừng !!! Lưu ý:Trong khi sử dụng các truy vấn phụ, bạn phải sử dụng

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

thay vì

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

chạy truy vấn.

Bây giờ, bạn có thể kiểm tra truy vấn đã được tạo thành

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Có cách nào để chọn từ bảng MySQL nơi một trường kết thúc bằng ký tự / số nhất định không?

  2. Làm cách nào để lưu kết quả truy vấn MySQL vào tệp excel hoặc .txt?

  3. Sự khác biệt giữa trình điều khiển ANSI và Unicode của MySQL

  4. rails + MySQL trên OSX:Thư viện không được tải:libmysqlclient.18.dylib

  5. Bảo mật api php để sử dụng trong ứng dụng Android