SQL In 子句多列

标签 sql multiple-columns in-clause in-operator

SELECT *
FROM Tabl tabb
WHERE (tabb.col1, tabb.col2) IN ( (1,2), (3,4))

上述内容在 Oracle 中有效,但我尝试在专有的 SQL 引擎中运行,该引擎不支持上述 IN 中多列的查询格式。

我正在尝试在数据库中查找 1,2 和 3,4 的组合。

请帮助我找到实现上述目标的任何替代方案。

我正在寻找从 Java 一次性传递 col1 和 col2 值列表的方法,因此“=”可能不是一个选项,因为它可能需要两个 SQL 语句来实现上述目的。

最佳答案

这个怎么样?

SELECT
    *
FROM
    Tabl tabb
WHERE
    (tabb.col1 = 1 AND tabb.col2 = 2) OR
    (tabb.col1 = 3 AND tabb.col2 = 4)

关于SQL In 子句多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13591732/

相关文章:

MySQL IN 子句 EITHER 值

java - PreparedStatement IN 子句替代方案?

javascript - 如何从 SQL 填充表中获取 ID?

css - 你能让网页从左到右滚动而不是从上到下滚动吗?

嵌入 Vimeo 的 CSS3 列 = 空白

sql - select 语句列中的条件 null 不为 null - SQL Server

python - SQLAlchemy IN 子句

sql - 如何检查 TOAST 是否在 postgres 中的特定表上工作

mysql - 从 SQL 数据库中获取唯一的结果

sql - MySQL UNION 每隔一个打印一次