SQL子句中的多个列

use*_*647 5 sql in-clause multiple-columns in-operator

SELECT *
FROM Tabl tabb
WHERE (tabb.col1, tabb.col2) IN ( (1,2), (3,4))
Run Code Online (Sandbox Code Playgroud)

上面的工作在Oracle中,但我试图在一个专有的SQL引擎中运行,该引擎不支持在IN中使用多个列进行上述查询.

我试图在DB中找到1,2和3,4的组合.

请帮助我实现上述任何替代方案.

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

小智 5

这个怎么样?

SELECT
    *
FROM
    Tabl tabb
WHERE
    (tabb.col1 = 1 AND tabb.col2 = 2) OR
    (tabb.col1 = 3 AND tabb.col2 = 4)
Run Code Online (Sandbox Code Playgroud)