我有三张桌子:
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 |
+-------+--------+
所以我需要做的是计算来自 TableB 的总金额总和,其中 id_a = (1 或我发布的 id) 并且 id_c 的状态为 1 或 0 并将其设置到 TableA in total 列中,用于数据我total
在 TableA 中的字段上方发布的表,其中 id_a = 1 将包含一个6
值。
我正在尝试通过这种方式进行查询:
UPDATE TableA SET total=(SELECT SUM(amount) as sum FROM TableB WHERE id_a = 1 GROUP BY(sum))
但这是错误的(我认为)。对此有何好查询?