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

上記は Oracle で動作しますが、IN に複数の列がある上記のクエリ形式をサポートしていない独自の SQL エンジンで実行しようとしています。

DB で 1,2 と 3,4 の組み合わせを見つけようとしています。

上記を達成するための代替手段を教えてください。

Java から col1 と col2 の値のリストを一度に渡す方法を探しているので、上記を実現するには 2 つの SQL ステートメントが必要になる可能性があるため、「=」はオプションではない可能性があります。

4

3 に答える 3

5

これはどう?

SELECT
    *
FROM
    Tabl tabb
WHERE
    (tabb.col1 = 1 AND tabb.col2 = 2) OR
    (tabb.col1 = 3 AND tabb.col2 = 4)
于 2012-11-27T19:39:19.727 に答える
0

次のようなことができます。

SELECT *
FROM Tabl tabb
inner join (
    select 1 a, 2 b 
    union select 3, 4
) x
on tabb.col1 = x.a
and tabb.col2 = x.b
于 2012-11-27T19:41:07.100 に答える