0


PostgreSQL 连接更新操作

假设有两个表,

table_a

table_b

,它们有一个共同的列

common_column

,我们想要通过连接这两个表并根据某些条件更新

table_a

的列。

-- 创建表 table_a
CREATE TABLE table_a (
    id SERIAL PRIMARY KEY,
    common_column INT,
    data_a VARCHAR(255)
);

-- 创建表 table_b
CREATE TABLE table_b (
    id SERIAL PRIMARY KEY,
    common_column INT,
    data_b VARCHAR(255)
);

-- 插入一些示例数据
INSERT INTO table_a (common_column, data_a) VALUES (1, 'A1'), (2, 'A2'), (3, 'A3');
INSERT INTO table_b (common_column, data_b) VALUES (1, 'B1'), (2, 'B2'), (3, 'B3');

现在,我们使用 UPDATE 语句连接这两个表并更新

table_a

的数据:

UPDATE table_a
SET data_a = table_b.data_b
FROM table_b
WHERE table_a.common_column = table_b.common_column;

在这个例子中,我们使用

UPDATE ... FROM ... WHERE

语法。这个语句将

table_a

data_a

列更新为

table_b

的对应行的

data_b

列的值,条件是它们的

common_column

列相匹配。

更偏向实际开发的SQL示例:

update table_a set column_a=updatetable.column_a
from (
select column_a,id from table_b where "id" in (select base_id from table_a gausa where column_b is not null and column_c=0 and column_a is null)

) updatetable where table_a.column_b is not null and table_a.column_c=0 and table_a.column_a is null
and updatetable.id=table_a.base_id
标签: postgresql 数据库

本文转载自: https://blog.csdn.net/weixin_41430914/article/details/134796614
版权归原作者 PuppyCoding 所有, 如有侵权,请联系我们删除。

“PostgreSQL 连接更新操作”的评论:

还没有评论