Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

नेस्टिंग mysql क्वेरी को कोडनिर्देशक शैली में बदलें

ऐसा करने के लिए आप कोडनिर्देशक के उप क्वेरी तरीके का उपयोग कर सकते हैं इस उद्देश्य के लिए आपको कोडनिर्देशक को हैक करना होगा। इस तरह सिस्टम/डेटाबेस/DB_active_rec.php पर जाएं इन कार्यों से सार्वजनिक या संरक्षित कीवर्ड निकालें

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

अब सबक्वायरी लेखन उपलब्ध है और अब यहां सक्रिय रिकॉर्ड के साथ आपकी क्वेरी है

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

मैंने दोनों को पसंद किया है जो आप अपनी आवश्यकताओं के अनुसार कर सकते हैं। नोट:उप प्रश्नों का उपयोग करते समय आपको उपयोग करना चाहिए

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

के बजाय

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

जो क्वेरी चलाता है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्यों SQLAlchemy निष्पादित अद्यतन काम नहीं कर रहा है

  2. डेटा प्लस इंडेक्स-डेटा को मेमोरी में रखना - InnoDB बनाम MyISAM

  3. डुप्लीकेट कुंजी पर:बहु-स्तंभ अद्वितीय बाधा

  4. अपने MySQL डेटाबेस को दूसरे कंप्यूटर में कैसे ट्रांसफर करें?

  5. गंभीर त्रुटि:अपरिभाषित फ़ंक्शन को कॉल करें session_register ()