• ベストアンサー

SQL文の質問

SQL文で質問です。 コード 状態 1 0 1 1 2 0 3 1 のようにあった場合、 コード毎にみて、状態1があるコードは 結果に出さないようにしたいのです。 期待する結果は、 コード 状態 2 0 です。 どのようなSELECT文にしたらできますか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • don9don9
  • ベストアンサー率47% (299/624)
回答No.2

SELECT コード, 状態 FROM テーブル WHERE コード NOT IN (SELECT コード FROM テーブル WHERE 状態 = 1) または SELECT コード, 状態 FROM テーブル T1 WHERE NOT EXISTS (SELECT * FROM テーブル T2 WHERE T2.コード = T1.コード AND T2.状態 = 1) でできると思います。

sosgoo
質問者

お礼

don9don9様の1つめのアドバイスでやってみてできましたので、 ベストアンサーとさせて頂きます。 皆様ありがとうございました。

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

データをまとめていいならこれでいけませんか? select コード,0 from テーブル group by コード having sum(状態)=0

回答No.1

これでいけると思います。 Select コード、状態 From テーブル Where コード!=(Select コード From テーブル Where 状態=1)