任何人都可以帮我写下面条件的查询。
表1
ID Key
1 A
2 A
4 C
5 D
6 A
表2
ID Key
2 B
3 B
5 D
6 A
这是两个表
我想要一个查询,其中Table1
中不存在与Table2
对应的ID,从表中删除。
示例:ID = 1
行已从Table1
完全删除,且哪个密钥不匹配也被删除
示例:ID = 2
,两个表中都存在,但密钥不相同,因此完整行也会从Table1
中删除而不是Table2
,我需要一个适用于这两个的查询条件
提前致谢
答案 0 :(得分:1)
SELECT id, [Key]
FROM table1
EXCEPT
SELECT id, [Key]
FROM table2
答案 1 :(得分:0)
您可以尝试检查以下内容是否存在:
DELETE FROM Table1
WHERE NOT EXISTS (
SELECT 1
FROM Table2 t2
WHERE Table1.Id = t2.Id
)
OR EXISTS (
SELECT 1
FROM Table2 t2
WHERE Table1.Id = t2.Id AND Table1.[Key] <> t2.[Key]
)
<强>输出强>
ID Key
5 D
6 A