• 締切済み

SQLについて

お世話になっております 以下の内容、お分かりになる方ご教授お願い致します Win2000 Access2000 TESTテーブル Key1  Key2  Key3 100  5     1 100  5     2 100  5     3      ←X 100  10     4      ←X2 110  10     2      ←X3 各項目は全て数値型です 上記データ内容のときにKey1が100以上でKey2が5以上で Key3が3以上のデータを取得したいと思っております 結果としてXからX3までのデータを抽出したいのですが どの様に行えばよろしいでしょか? SELECT * FROM TESTテーブル WHERE Key1 >= 100 AND Key2 >= 5 AND Key3 >= 3 の様に組むとKey1が110の項目は取得できなくなります Key3 >= 3の様に組んでるのでだとは思いますが 組み方がわかりません 宜しくお願いします

みんなの回答

  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.2

>結果としてXからX3までのデータを抽出したいのですが >どの様に行えばよろしいでしょか? 直接、ねらい打ちしかないとおもいますが。 SELECT * FROM TESTテーブル WHERE (key1 =100 AND key2=5 AND key3 = 3) OR (key1=100 AND key2=10 AND key3=4) OR (key1=110 AND key2=10 AND key3=2)

Tori_Mayo
質問者

お礼

返信遅れてすみません アドバイスありがとうございます 違う方法で対応しようと思っております また、何かありましたらお願い致します

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

>Key1が100以上でKey2が5以上で 日本語の「で」を使って条件を接続した場合、 普通の解釈なら"AND"です。 >Key3が3以上 だとするなら、X3が抽出されないのは当然 なのではないでしょうか。 もう一度、各項目の条件と、結合(AND/OR)を よく整理してみてください。

Tori_Mayo
質問者

お礼

返信遅れてすみません アドバイスありがとうございます 違う方法で対応しようと思っております また、何かありましたらお願い致します

関連するQ&A