Wie schreibe ich where_in Anweisung eine Unterabfrage mit codeigniter aktiven Datensätzen?CodeIgniter Active Records wo in Unterabfrage
$query = $this->db->query("SELECT SUM(a.transaction_payment_amount) FROM
transaction_payment a WHERE a.transaction_link IN
(SELECT transaction_link FROM transaction WHERE transaction_type = '22'");
$result = $query->result();
Jetzt, wie die obige Abfrage in aktive CI-Datensätze konvertieren?
Ich habe versucht:
$this->db->select("SUM(a.transaction_payment_amount)");
$this->db->from('transaction_payment a');
$this->db->where_in('a.transaction_link', "SELECT transaction_link from transaction WHERE transaction_type = '22'");
$query = $this->db->get();
$result = $query->result();
Aber es funktioniert nicht.
Wenn es möglich ist, gibt es keinen Vorteil. Es ist nicht portabler als es war, wenn Sie die Abfrage-Methode verwenden. –
@BrianGottier Nun meine Abfrage ist nur ein Beispiel, mein aktueller Code ist viel länger und mehr Tabelle und Spalte, dass es ein bisschen schwerer zu lesen, mit aktiven Aufzeichnungen (wenn es die gleiche Geschwindigkeit hat), wird besser und einfacher lesen. – Charas
Wenn Ihre Abfrage viel länger und komplexer ist, klingt es so, als müssten Sie nur Formatierung/Einrückung verwenden, um das Lesen zu erleichtern. –