sql - 行集的 SQL 删除语句
问题描述
我需要通过使用 SQL(status =Loaded
仅)比较表 2 来删除行集表 1(4 行集),否则保留行集IG
。
例如,表 1 中的 IG 10 数据将被删除,IG 60 数据将保持与该 IG 未加载对应的所有状态相同。
解决方案
您可以尝试以下解决方案。内部SELECT
获取所有IG
未成功加载的值。它DELETE
本身会删除该IG
值不在此列表(未成功加载的)IG
值中的所有行。
DELETE FROM Table1 WHERE NOT IG IN (
SELECT IG FROM Table2 WHERE Status <> 'Loaded'
)
为确保删除正确的行,您可以SELECT
先使用以下内容:
SELECT * FROM Table1 WHERE NOT IG IN (
SELECT IG FROM Table2 WHERE Status <> 'Loaded'
)
推荐阅读
- reactjs - CORS:对预检请求的响应未通过访问控制检查 (axios)
- java - 运行时带有serialVersionUID 的泛型集合的类?
- c++ - 我可以在编译时不知道大小的情况下在堆栈上分配`std::array`吗?
- dynamic-sql - 如何在 mulesoft 中的 sql 连接器的选择查询中动态传递表名?
- excel - 如何获取已删除行的数据?
- html - 我们如何使用 html 5 开发位置自动检测?
- reactjs - 如何从 React 状态的嵌套数组对象中设置 radioGroup 的 defaultValue?
- javascript - 如何使用 css 或 js 根据 vue.js 中的条件在打印页面中设置不显示?
- docker - Ansible:注册命令的输出,解析它,将其作为环境变量提供给容器:变量未定义
- javascript - 如何将剪贴板内容自动粘贴到我的网页中