通过update语句将表a中的je字段更新为b中的cfje的合计,a的id=b的cf_id
时间: 2024-02-17 16:59:54 浏览: 18
你可以使用如下 SQL 语句实现:
```
UPDATE a
SET a.je = (
SELECT SUM(b.cfje)
FROM b
WHERE b.cf_id = a.id
);
```
该语句中,使用子查询语句 `(SELECT SUM(b.cfje) FROM b WHERE b.cf_id = a.id)` 来获取表 `b` 中 `cf_id` 等于表 `a` 中 `id` 的记录的 `cfje` 字段的合计值,并将其赋值给表 `a` 的 `je` 字段。
需要注意的是,子查询语句返回的结果必须是单行单列的,否则会报错。如果子查询返回多行数据,则需要使用聚合函数(如 `SUM()`、`AVG()` 等)对其进行合并。
相关问题
当表b的je不等于表m的cfje合计的时候,用sql的update语句更新表b的je为表m的cfje合计
可以使用以下 SQL 语句来实现:
```
UPDATE b
SET je = (
SELECT SUM(cfje)
FROM m
WHERE m.id = b.id
)
WHERE je != (
SELECT SUM(cfje)
FROM m
WHERE m.id = b.id
);
```
上述语句中,使用了子查询来获取表m中对应id的cfje合计,并把它赋值给表b的je字段。同时,使用 WHERE 子句来判断表b的je字段是否与表m的cfje合计不相等,如果不相等,则进行更新操作。