ホームページ >データベース >mysql チュートリアル >SQL で別のテーブルの値の合計を使用してテーブルを更新するにはどうすればよいですか?
SQL UPDATE クエリでの集計: 簡潔な解決策
データベース操作では、集計関数に基づいてテーブル値を更新することが課題となる場合があります。あるテーブルの値を別のテーブルの値の合計に設定することを目的とする一般的なシナリオを検討してみましょう。
次のクエリを考えてみましょう。
UPDATE table1 SET field1 = SUM(table2.field2) FROM table1 INNER JOIN table2 ON table1.field3 = table2.field3 GROUP BY table1.field3
このクエリは直感的ですが、 2 つの重要な制約により失敗します。SET は SUM のような集計関数をサポートせず、GROUP BY は UPDATE では許可されません。
この問題を解決するには、サブクエリを利用して集計合計を計算し、更新された値を UPDATE クエリで使用します。
UPDATE t1 SET t1.field1 = t2.field2Sum FROM table1 t1 INNER JOIN (select field3, sum(field2) as field2Sum from table2 group by field3) as t2 on t2.field3 = t1.field3
この洗練されたクエリでは、
このアプローチを採用すると、SQL で集計更新を正常に実行し、目的のデータ操作を実現できます。結果。
以上がSQL で別のテーブルの値の合計を使用してテーブルを更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。