私は3つのテーブルを持っています:
TableA
+-------+--------+--------+
| id_a | name | total |
+-------+--------+--------+
| 1 | Andrew | |
| 2 | Jhon | |
+-------+--------+--------+
TableB
+-------+--------+--------+--------+
| id_b | id_a | amount | id_c |
+-------+--------+--------+--------+
| 1 | 1 | 5 | 1 |
| 2 | 1 | 1 | 2 |
+-------+--------+--------+--------+
TableC
+-------+--------+
| id_c | status |
+-------+--------+
| 1 | 1 |
| 2 | 0 |
+-------+--------+
したがって、私がする必要があるのは、id_a = (1 または投稿された id) であり、id_c のステータスが 1 または 0 である TableB から金額の合計をカウントし、それを TableA の合計列に設定することです。total
id_a = 1 が値を含む TableAのフィールドの上に投稿したテーブル6
。
私はこの方法でクエリを実行しようとしています:
UPDATE TableA SET total=(SELECT SUM(amount) as sum FROM TableB WHERE id_a = 1 GROUP BY(sum))
しかし、これは間違っています(私は思います)。これに対するクエリはどのようにすればよいでしょうか。