sql - 按列对删除表中存在的行

标签 sql sqlite delete-row sql-delete

我有一个表,我需要按两列删除行,例如

+------+------+--------+
| col1 | col2 |  other |
+------+------+--------+
|  12  |   2  |  test  |
+------+------+--------+
|  14  |   2  |  test1 |
+------+------+--------+
|  12  |   3  |  test2 |
+------+------+--------+
|  13  |   3  |  test3 |
+------+------+--------+
|  15  |   4  |  test4 |
+------+------+--------+

并且我想删除 (col1,col2) 对等于 (12,2),(13,3),(14,2) 中任何值的行

我可以通过纯 SQL 来完成此操作吗?

最佳答案

如果您有很多值,请用它们填充表格并执行以下操作:

DELETE t
FROM Table t
INNER JOIN TempTable tt
ON t.col1 = tt.col1
AND t.col2 = tt.col2

关于sql - 按列对删除表中存在的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5436683/

相关文章:

android - 如何获得每个不同值的计数(SQLite查询-Android)

php - 如何删除使用 PDO 插入 MySQL 表的最后一条记录?

sql - 删除语句 - 子查询应该抛出错误

sql - 在 T-SQL 中生成日期序列

sql - Hive - 通过跨组聚合值来创建映射列类型

android - SQLite 数据库浏览器 - 导入国家字体时出现问题

PHP 按钮删除 MYSQL 表输出中的一行

sql - 将日期添加到 SQL 数据库备份文件名

如果没有找到最接近的最小值,Mysql : find nearest Maximum value,

android - 使用 ORMLite 创建表期间的列未与 Bean 对齐