codeigniterアクティブレコードを使用してwhere_inステートメントにサブクエリを書くにはどうすればよいですか?CodeIgniterアクティブレコードサブクエリのどこにある
$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();
ここで、上記のクエリをCIアクティブなレコードに変換する方法はありますか。
私が試してみました:
$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();
をしかし、それは動作しません。
可能であれば、メリットはありません。これは、クエリメソッドを使用するときよりも移植性がありません。 –
@BrianGottierまあ、私のクエリは単なる例です。私の実際のコードは長いですし、アクティブなレコード(同じ速度を持っていれば)を読むのが少し難しくなります。読む。 – Charas
クエリが長く複雑である場合は、読みやすくするために書式設定/インデントを使用する必要があるように思えます。 –