2017-07-03 7 views
0

これは私がそれらに関連付けられている2つの以上の値を持つすべてのIDを返すために、クエリに追加する必要がありますどのようなクエリはもっとして1つのエントリですべての結果を表示

id   value 
------  --------- 
    10    123 
    10    422 
    11    441 
    11    986 
    12    674 
    13    648 

の結果であると仮定します。したがって、その場合はID 10 & 11が返されますが、私はすべてのレコードが必要です。私は1つだけ戻ったので

id   value 
------  --------- 
    10    123 
    10    422 
    11    441 
    11    986 

GROUP BYが私を助けにはなりません... ;-)

ありがとう:

ので、結果は次のようになります。

答えて

0

あなたはexistsを使用することができます。ここでは

select t.* 
from t 
where exists (select 1 from t t2 where t2.id = t.id and t2.value <> t.value); 
1

この

select * from table where id in (select id from table group by id having count(id)>1) order by id; 
+0

を行うための簡単な方法は、私が "=" ということを忘れて、ありがとう@Prdp 'IN' ... –

+0

であるべきですサブクエリによって複数の行が返されたときにエラーが発生します。同じように修正しました。 –

+0

何らかの理由で 'count(id)> = 2'が私の目に気に入らないのです。私は 'Count(id)> 1';と書いています) –

関連する問題