我有一张表如下
col1 col2 col3
a 01/01/2001 1.1
a 01/02/2001 1.2
a 01/03/2001 1.3
b 02/03/2004 2.1
b 02/04/2004 2.2
b 02/05/2004 2.3
我希望能够根据每行的多次比较来获取行。也就是说,在我拥有(a,01/01/2001)
和(b,02/05/2004)
的位置获取行。看起来像是什么,
Select * from table where col1,col2 in (('a','01/01/2001'),('b','02/05/2004'))
我该怎么做?
答案 0 :(得分:3)
SELECT *
FROM table
WHERE
(col1 = 'a' AND col2 = '01/01/2001')
OR
(col1 = 'b' AND col2 = '02/05/2004')
答案 1 :(得分:1)
您的原始代码非常接近,但并不完全存在。您只需要将条件左侧的字段放在方括号
中Select * from table where (col1,col2) in (('a','01/01/2001'),('b','02/05/2004'))