gpt4 book ai didi

sql - 根据另一个表的组合键删除

转载 作者:行者123 更新时间:2023-12-02 07:42:23 24 4
gpt4 key购买 nike

我真的很不愿意发布这个,因为我觉得这是一个常见问题,但我似乎找不到适用于这种情况的答案......(也许我只是一个非常糟糕的谷歌者)。

我有两个相同的表(按列排列,而不是数据),table1 和 table2。我希望删除 table1 中两个表中都存在复合键 (col1, col2) 的记录。这是我所拥有的,这对我来说似乎是正确的,但抛出了错误。

DELETE FROM Table1
WHERE (**Col1**, Col2) IN
(SELECT Col1, Col2
FROM Table1 a
JOIN Table2 b
ON a.Col1 = b.Col1
AND a.Col2 = b.Col2)

错误:

Msg 4145, Level 15, State 1, Line 212 An expression of non-boolean type specified in a context where a condition is expected, near ','.

我在具有“红色错误曲线”的代码部分周围放置了两个 *

最佳答案

这可以通过使用 JOIN 与您的 DELETE 干净地执行。 :

DELETE a
FROM
Table1 a
JOIN Table2 b
ON a.Col1 = b.Col1
AND a.Col2 = b.Col2

关于sql - 根据另一个表的组合键删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13463982/

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