gpt4 book ai didi

sql - 如何从两个表中删除与postgresql中的单个查询相同的行

转载 作者:行者123 更新时间:2023-11-29 14:09:02 27 4
gpt4 key购买 nike

我有两个表 t1 和 t2

表t1如下:

id   name
1 x
2 y
3 z

表t2如下:

id      name
1 a
121 b
131 c

在这里,我选择了两个表中共有的行,即

SELECT * 
from t1,t2
where t1.id=t2.id;

现在我想同时删除两个表中 id=1 的行。我试图删除行,但我只能在一个表中删除,而不能同时删除两个表。谁能帮我解决这个问题。

最佳答案

您可以使用 data modifying common table expression 来做到这一点

with common_ids as (
select id
from t1
intersect
select id
from t2
), t1_delete as (
delete from t1
where id in (select id from common_ids)
)
delete from t2
where id in (select id from common_ids);

在线示例:http://rextester.com/NAQ26877

关于sql - 如何从两个表中删除与postgresql中的单个查询相同的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51205007/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com