1
これまでにサブクエリを使用したことがなく、UPDATE
にSELECT
を配置する際に問題が発生しました。UPDATEクエリ内のSELECTサブクエリ
ここではcodeigniterを使用していますが、アクティブレコードクラスに固執したいのですが、それ以外は何もありませんが、生のSQLで作業できます。
はここでARクラスを使用して私の最後の試みです:
$this->db->select('locations.id, locations.name');
$this->db->join('locations','location_relationships.id = locations.id');
$sub = $this->db->_compile_select();
$this->db->_reset_select();
$this->db->where('id', $location_id);
$this->db->where('group_id', $team_id);
$query = $this->db->update('location_relationships', $data);
基本的に、私はこのlocation_relationships
テーブル内の値を更新しています、そしてときには、同じテーブル内のいくつかの関連するセルを選択したい起こり、他の1 (locations
)。したがって、SELECT
サブクエリにはJOIN
もあります。
助けていただけたら幸いです!
これは、あなたがhttp://codeigniter.com/wiki/Subqueries – allen213
@ allen213近くに役立つかもしれないが、それはUPDATE'クエリ 'の下で、特にカバーしていません。私はこれまで読んできましたが、実際にMySQLの制限があるかもしれません... 'UPDATE'の下に' SELECT'はありません。 Odd .. – Gavin
クエリをraw sqlに書き込み、アクティブなレコードに書き込む前にsqlクライアントで正しく動作することを確認してください。 – Catfish