проблема с выбором - PullRequest
       18

проблема с выбором

4 голосов
/ 02 сентября 2011

У меня есть таблица со строками с двумя столбцами

A 1
A 2
B 1
B 3
C 1
C 2
C 3

, и я хочу получить из этого только этот идентификатор (a, b или c), который имеет только 2 строки со значением 1,2, поэтомуиз этой таблицы я должен получить a, потому что b не имеет строки с 2, а c имеет строки с 1 и b, но также имеет строку с c ..

Какой самый простой способ получить эту строку?

Ответы [ 2 ]

6 голосов
/ 02 сентября 2011
SELECT col1
FROM YourTable
GROUP BY col1
HAVING COUNT(DISTINCT col2) =2 AND MIN(col2) = 1 AND MAX(col2) = 2

или другой способ, расширяемый до более чем 2 чисел

SELECT col1
FROM   yourtable
GROUP  BY col1
HAVING MIN(CASE
             WHEN col2 IN ( 1, 2 ) THEN 1
             ELSE 0
           END) = 1
       AND COUNT(DISTINCT col2) = 2 
0 голосов
/ 02 сентября 2011
select t1.col1 
from table as t1 
left join table as t2 on (t1.col1 = t2.col1) 
where t1.col2 = 1 and t2.col2 = 2;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...