我想比较两个表 t1 和 t2,并根据 t2 中列的条件更改 t1 中列行值的值。
t1:
菲德 | 漏洞 | agg_cost |
---|---|---|
1 | 0.6 | 1400 |
2 | 0.5 | 1300 |
3 | 0.8 | 1200 |
t2:
菲德 | 漏洞 | agg_cost |
---|---|---|
1 | 0.2 | 200 |
2 | 0.5 | 2000 |
3 | 0.8 | 450 |
t1 的期望结果:
菲德 | 漏洞 | agg_cost |
---|---|---|
1 | 1.0 | 1400 |
2 | 0.5 | 1300 |
3 | 1.0 | 1200 |
我已经使用了这个查询,但它做出了错误的更改:
UPDATE t1
SET vul = 1.0
FROM t2
WHERE t1.agg_cost > t2.agg_cost;
& 内连接给了我多次指定的表名 t1。
UPDATE t1
SET vul = 1
FROM t1
INNER JOIN t2 ON t1.fid = t2.fid
WHERE t1.agg_cost > t2.agg_cost;
如果我做对了,如果 t2 中存在具有相同 fid 和更大 agg_cost 的行,您想更新 t1