Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Konwertuj zagnieżdżone zapytanie mysql na styl codeigniter

Możesz użyć podzapytania sposób codeigniter, aby to zrobić, w tym celu będziesz musiał zhakować codeigniter. w ten sposóbPrzejdź do system/database/DB_active_rec.php Usuń publiczne lub chronione słowo kluczowe z tych funkcji

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

Teraz wpisywanie podzapytania jest dostępne A teraz jest twoje zapytanie z aktywnym rekordem

$data   =   array(
                'COUNT(B.event) AS  Calls',
                'B.ID'
            );

$this->db
        ->select($data)
        ->from('TableB AS B')
        ->like('B.event','call','both')
        ->where('`Time` >=',1360540800)
        ->where('`Time` <=',1361232000)
        ->group_by('B.ID');

$subQuery = $this->db->_compile_select();
$this->db->_reset_select();
unset($data);
$data   =   array(
                'A.ID',
                'A.fName',
                'A.lName',
                'COALESCE (B.calls, 0) AS Calls'
            );
$this->db
        ->select($data)
        ->from('TableA AS A')
        ->join("$subquery")
        ->like('A.State','SENT','both')
        ->or_like('A.State','SET','both');

Umieściłem oba w polubieniach, które możesz wykonać zgodnie z własnymi wymaganiami.Uwaga:podczas korzystania z zapytań podrzędnych musisz użyć

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

zamiast

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

który uruchamia zapytanie.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przechowuj wiele adresów e-mail w bazie danych dla różnych typów użytkowników

  2. MySQL - Zliczanie wierszy i problem z lewym złączeniem

  3. Mysql znajdź słowa kluczowe w tekście

  4. Nie można wykryć wartości null z JSON_EXTRACT

  5. SQL :Policz liczbę wystąpień występujących w kolumnie wyjściowej i oblicz procent na podstawie wystąpień