• ベストアンサー

アクセスクエリ

アクセスクエリの質問です。親番 子番 のテーブルがあります。親番1が5行あり子番は0から4まで入っています。続いて親番2が10行あり子番は0と11から19まで入っています。これをクエリで親番1は子番が0のみを抽出し、親番2番は子番が0以外を抽出したい時。どういうクエリになりますか。 iifで指定したらいいような気がするのですが、関数がわかりません。実は親番は1000番程あり、子番もランダムの数字をもっています。全て子番0は必ずもっており、後はランダムです。特定の親番だけ0以外の子番を抽出し、基本は子番0を抽出するといった事がしたいです。詳しい方いらっしゃいましたら、ご教示頂けると幸いです。

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

  • ベストアンサー
  • shut0325
  • ベストアンサー率40% (490/1207)
回答No.1

IIfを使用せずとも単純なクエリでできます。 抽出したいデータはどのようなものか整理してみましょう。 大きく分けて二つです。 1.親番が特定の番号 で なおかつ 子番が0以外のもの 2.親番が特定の番号以外 で なおかつ 子番が0のもの この二つの条件の いずれか を満たすもの を抽出する。 式っぽく書くと ([親番]=特定の番号 And Not([子番]=0)) Or (Not([親番]=特定の番号) And [子番]=0) と表せます。 実際 Accessの選択クエリでは、抽出条件の欄で、 1行目は[親番]のところに 特定の親番(仮に5とします。) [子番]に Not 0(または<>0) 2行目は[親番]のところに Not 5(または<>5) [子番]に0 と入力して実行すればご希望の抽出が出来ると思います。 SQLビューで Where以下の部分が抽出条件です。 もっと複雑なことをしたい場合や選択クエリを使用しないで抽出する際にはWhere句をつかうので、後の参考になるかと思います。

tsson44
質問者

お礼

ご丁寧にありがとうございました。 クエリにご指導頂いたとおりに入力しましたところ、うまく抽出する事ができました。 本当に助かりました。ありがとうございました!!

関連するQ&A