假设我在表X中有6列名为a,b,c,d,e,f
我的逻辑是这样:
UINavigationControllerDelegate
等
如何在一个查询语句中构建它
数据库是PostgreSQL
我需要大约1万条记录进行更新
答案 0 :(得分:1)
您可以执行以下操作:
update x
set d = t.d,
e = t.e,
f = t.f
from (
values
(0,0,0,0,0,0),
(0,0,1,0,0,1),
(0,0,2,0,0,8),
(1,0,2,0,555,8)
) as t(a,b,c,d,e,f)
where x.a = t.a
and x.b = t.b
and x.c = t.c
;
答案 1 :(得分:0)
我个人建议采用完全不同的方法。如果您创建了一个表,可以对这些值进行交叉检查,那么它将可以重复使用,简洁并且易于维护。
示例:
CREATE TABLE t (
a INT
, b INT
, c INT
, d INT
, e INT
, f INT
)
INSERT INTO t (a,b,c,d,e,f) VALUES (0,0,0,0,0,0);
INSERT INTO t (a,b,c,d,e,f) VALUES (0,0,1,0,0,1);
INSERT INTO t (a,b,c,d,e,f) VALUES (0,0,2,0,0,8);
INSERT INTO t (a,b,c,d,e,f) VALUES (1,0,2,0,555,8);
SELECT * FROM t
您可以简单地将这三个值加入该表,并获得想要的d,e和f值。