2

2 つの整数列があり、特定の値の組み合わせを持つ行を選択したいと考えています。どの SQL 構文を使用できますか? たとえば、ININ がこの構文をサポートしている場合、次のように使用できます。

select * 
 from myTable 
 where value1, value2 in ((2,3), (3,4), (2,5), (3,6))

でそれらの行を選択するには value1 == 2 and value2 == 3 or value1==3 and value2==4 or 2/5 or 3/6

私は独自の SQL システムを使用しているため、基本的な SQL が優先されます。または、何もない場合は、標準 SQL で機能するステートメントがあると便利です。

4

3 に答える 3

5
select yourtable.* 
from yourtable
     inner join 
     (
          select 2 as v1, 3 as v2 
          union select 3,4
          union select 2,5
          union select 3,6
     ) pairs
         on yourtable.value1 = pairs.v1
         and yourtable.value2 = pairs.v2
于 2012-10-03T21:15:59.490 に答える
1

を使用して同じことが達成できます VALUES

select table_name.* 
  from table_name tn, 
       (values(2,3), (3,4), (2,5), (3,6) ) as val(v1,v2) 
  where tn.value1 = val.v1 and tn.value2 = val.v2
于 2012-10-04T05:37:18.187 に答える
1

INSQL Server では、残念ながらそのように使用することはできません。コードサンプルの下で行ったように書き出すか、データをCTEなどにロードしてからそれに参加するのが最善の策だと思います。

于 2012-10-03T21:15:34.433 に答える