で追加の状態IDを持つためにセット2のみ2,3 STATE_ID
ID Status
Y Active
A Active
を持つために、私はそれはあなたが結果を期待与えるべきだと思う
セット1。
は、あなたがこのスクリプトを使用することができます SqlFiddle
--Set 1
SELECT id ,status
FROM table1
-- WHERE status='Active'
GROUP BY id ,status
HAVING COUNT(DISTINCT state_id) =count(DISTINCT CASE WHEN state_id IN (2,3) THEN state_id END) ;
--Set2
SELECT id ,status
FROM table1
GROUP BY id ,status
HAVING COUNT(DISTINCT state_id)>count(DISTINCT CASE WHEN state_id IN (2,3)
THEN state_id END)
AND COUNT(DISTINCT CASE WHEN state_id IN (2,3) THEN state_id END) =2;
'SELECT ID、ステータスを設定し取得するためのIDを反転WHERE STATE_ID IN(2,3)AND行うデータベース( 'Y'、 'A')'でIDあなたが使う?セット1とセット2の違いは何ですか?アクティブなエントリの数ですか? – cSteusloff
どの[DBMS](https://en.wikipedia.org/wiki/DBMS)製品を使用していますか? Postgres?オラクル? "_SQL_"はクエリ言語であり、特定のデータベース製品の名前ではありません。 –