- ベストアンサー
SQL文の質問
SQL文で質問です。 コード 状態 1 0 1 1 2 0 3 1 のようにあった場合、 コード毎にみて、状態1があるコードは 結果に出さないようにしたいのです。 期待する結果は、 コード 状態 2 0 です。 どのようなSELECT文にしたらできますか? よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
SELECT コード, 状態 FROM テーブル WHERE コード NOT IN (SELECT コード FROM テーブル WHERE 状態 = 1) または SELECT コード, 状態 FROM テーブル T1 WHERE NOT EXISTS (SELECT * FROM テーブル T2 WHERE T2.コード = T1.コード AND T2.状態 = 1) でできると思います。
その他の回答 (2)
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.3
データをまとめていいならこれでいけませんか? select コード,0 from テーブル group by コード having sum(状態)=0
- 沙羅 聖児(@sara_seiji)
- ベストアンサー率25% (25/98)
回答No.1
これでいけると思います。 Select コード、状態 From テーブル Where コード!=(Select コード From テーブル Where 状態=1)
お礼
don9don9様の1つめのアドバイスでやってみてできましたので、 ベストアンサーとさせて頂きます。 皆様ありがとうございました。