2列の行を持つテーブルがあります
A 1
A 2
B 1
B 3
C 1
C 2
C 3
これから、値が1,2の行が2つしかないこのID(a、b、またはc)だけを取得したいので、このテーブルからaを取得する必要があります。これは、bには2の行がなく、cには行があるためです。 1とbがありますが、cの行もあります。
この行を取得する最も簡単な方法は何ですか?
2列の行を持つテーブルがあります
A 1
A 2
B 1
B 3
C 1
C 2
C 3
これから、値が1,2の行が2つしかないこのID(a、b、またはc)だけを取得したいので、このテーブルからaを取得する必要があります。これは、bには2の行がなく、cには行があるためです。 1とbがありますが、cの行もあります。
この行を取得する最も簡単な方法は何ですか?
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
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;