sql >> データベース >  >> RDS >> PostgreSQL

ActiveRecordupdate_allとRails4を使用して結合テーブルを一括更新する

    Chat.update_all以降 UPDATE chats SET...を追加します エイリアスを使用して更新を行うためのレールを取得することを考えることができる唯一の方法(UPDATE chats AS c )はconnection.updateを使用します およびSQL文字列:

    Chat.connection.update(Q%{
      UPDATE chats AS c 
      SET email = m.source_name
      FROM messages AS m
      WHERE c.id = m.chat_id 
        AND m.created_at >= '2014-10-10'
    });
    

    SQLフラグメントを避けたい場合はあまり良くありませんが、ARELを使用したい場合は、質問のように結合を使用することが唯一の方法である可能性があります。




    1. 数値を最も近い10に切り捨てるにはどうすればよいですか?

    2. MySQL内部結合クエリ複数のテーブル

    3. mysqlユニオンタイプクエリをカウントします

    4. MariaDBにOQGraphがありませんか?