sql - 从 SQL 中的表中删除结果行
问题描述
我有 2 个名为BM_Data1
&的表BM_Data1_May62019
。BM_Data1_May62019
两个表都包含与表副本相同的数据BM_Data1
。但是BM_Data1
有一些额外的行,我如何从中删除这些额外的行BM_Data1
并使其与BM_Data1_May62019
.
我使用以下查询获得了额外的行。
SELECT * FROM
(SELECT * FROM BM_DATA1
EXCEPT
SELECT * FROM BM_DATA1_MAY62019) a
有7803额外的行,我怎样才能从BM_Data1
表中删除它们?
谢谢你
解决方案
当您确认 RECID 在两个表中都具有唯一值时,您可以尝试以下脚本
DELETE FROM BM_DATA1
WHERE RECID NOT IN
(
SELECT RECID FROM BM_DATA1_MAY62019
)
推荐阅读
- javascript - 如何使用 ckeditor 4 类型(链接、图像、flash)打开不同的对话框
- django - 在 VSCode 调试器中设置 GOOGLE_APPLICATION_CREDENTIALS 环境变量
- jenkins - Tox 的缓存有多可靠?
- batch-file - 批处理文件移动不适用于某些特殊字符
- nginx - 具有 Kubernetes Ingress 资源 (nginx) 的不同路径上的两个 Flask 应用程序
- sql - Excel VBA 中 SQL 更新函数的正确语法
- azure-devops - “dotnet restore --interactive”不适用于 Azure Artifacts
- php - facebook使用php自动登录
- c++ - 需要找出3个小错误——内存Bug
- git - 即使 git ls-remote 导致找不到标签,如何修复“标签已存在”