2017-10-26 7 views
1

に応じて、最初の列の重複したエントリを選択します。MySQLの:私は(非常に単純化された)このテーブルを持っている第二のカラム

id | product 
------------ 
    1 | a 
    2 | b 
    3 | b 
    3 | c 
    4 | c 
    5 | b 
    5 | c 
    5 | d 
    6 | d 
    6 | c 
    7 | b 
    8 | b 
    9 | c 
10 | d 

私だけPRODUKT「D」または「C」を持っているすべてのIDを取得したいと思います。例えば ​​'5'は選択されてはならない。これは製品 'b'も持っているからである。 結果は次のようになります。このような問題に近づいての4、6、9および10

答えて

4

簡単な方法IDが持つ禁じられた製品の数をカウントしている:

SELECT id 
FROM  mytable 
GROUP BY id 
HAVING COUNT(CASE WHEN product NOT IN ('c', 'd') THEN 1 END) = 0 
+1

は、私はあなたのソリューションが好き。 +1。私はWhere句でサブクエリをやったでしょう。 –

+1

ありがとうございました!よく働く!! – Phantom

関連する問題