• ベストアンサー

絞込みする時のSQLの書き方

お世話になります。 絞込みする時のSQLの書き方について教えてください。 具体的には テーブル名tbl01,フィールド名f01,f02とした場合 1.f01もしくはf02にAという文字を含むレコードを抽出。 SQL = "select * from tbl01 where f01 like '%A%' or f02 like '%A%'" 2.続いて、1で抽出したデータからf01もしくはf02にBという文字を含むレコードを抽出するSQL文 SQL = ????? あくまでも、1と2を満たす条件を1つのSQL文で表す方法です。一旦、1の結果をワークテーブルに落とし、そこから2だけのSQL文を実行するわけではありません。

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

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

ANDで条件を追加すればOKです。 SQL = "select * from tbl01 where (f01 like '%A%' or f02 like '%A%') and (f01 like '%B%' or f02 like '%B%')"

その他の回答 (2)

noname#102878
noname#102878
回答No.3

演算ですからカッコ「( )」で優先順位をつけたり、まとめたりしましょう。

noname#2497
noname#2497
回答No.2

ANDで追加条件を指定するだけでは上手く抽出できませんか? あるいは、DBMSがORACLEの場合は、以下のようなことができますよ。 select * from (select * from tbl01 where f01 like '%A%' or f02 like '%A%') where f01 like '%B%' or f02 like '%B%';

関連するQ&A