gpt4 book ai didi

SQL Server删除涉及两个表的查询

转载 作者:行者123 更新时间:2023-12-02 22:29:05 26 4
gpt4 key购买 nike

所以我在 SQL Server 中有表 A 和 B,分别有列 a 和 b。我想在伪查询命令中执行以下操作,但我似乎无法弄清楚。

我想要

DELETE FROM A 
WHERE a < 100 "and only if these selected (for deletion) values don't exist in column b in table B"

原因是我试图从表 A 中删除一些数据,但它给我一个错误,说 A.a 和 B.b 中的值之间存在约束。

这涉及别名吗?很困惑..

最佳答案

如果您使用的是 SQL Server 2005 或更高版本,请尝试此操作:

DELETE FROM TableA
WHERE a < 100 AND
a NOT IN (SELECT B FROM TableB)

对于 SQL Server 2000 这应该有效:

DELETE ta
FROM TableA as ta
LEFT JOIN TableB as tb
ON ta.a = tb.b
WHERE ta.a < 100 AND tb.b IS NULL

关于SQL Server删除涉及两个表的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7046893/

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