Извлечение нескольких строк на основе двух сравнений в каждой строке - PullRequest
1 голос
/ 21 ноября 2011

У меня есть следующая таблица

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'))

Как я могу это сделать?

Ответы [ 2 ]

3 голосов
/ 21 ноября 2011
SELECT * 
FROM table 
WHERE 
     (col1 = 'a' AND col2 = '01/01/2001')
     OR
     (col1 = 'b' AND col2 = '02/05/2004')
1 голос
/ 21 ноября 2011

Ваш оригинальный код был так близко, но не совсем там.Вам просто нужно было поместить поля в левой части условия в скобках

Select * from table where (col1,col2) in (('a','01/01/2001'),('b','02/05/2004'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...