相关疑难解决方法(0)

如何以原子方式替换表数据的子集

在 PostgreSQL 9.6 我有一个T这样的表

category | id | data
---------+----+------
A        | 1  | foo
A        | 2  | bar
A        | 3  | baz
B        | 4  | eh
B        | 5  | whatcomesafterfoobarbaz
Run Code Online (Sandbox Code Playgroud)

有一个视图V为我提供了数据T,所以它有列category, id, dataT本质上是 的物化视图V,除了我需要以比“刷新所有内容”更多的粒度来刷新它。

所以我会选择V例如

SELECT * FROM V WHERE category = 'A';
Run Code Online (Sandbox Code Playgroud)

或者

SELECT * FROM V WHERE category = 'A' AND id = 2;
Run Code Online (Sandbox Code Playgroud)

T用任何data V …

postgresql concurrency locking update postgresql-9.6

5
推荐指数
1
解决办法
1136
查看次数

选择第一列中不存在第二列值的行

我有这个表结构:

 id1 id2
 1   2 
 1   3
 1   4
 2   1
 2   5
Run Code Online (Sandbox Code Playgroud)

我需要构建一个查询来选择id2where id1is not in id2. 例如,如果id1 = 1只有id2=3id2=4
我试过这个:

SET @a=1;
SELECT DISTINCT x.id2 
 FROM tt x, tt y 
 WHERE x.id1=@a AND x.id1 != y.id2;
Run Code Online (Sandbox Code Playgroud)

但它不起作用。

mysql join

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

concurrency ×1

join ×1

locking ×1

mysql ×1

postgresql ×1

postgresql-9.6 ×1

update ×1