• ベストアンサー

アクセスのクエリで

アクセスのクエリで、テーブルAのフィールド1が"a"又は、"b"の場合は、"ABC"と表示し、それ以外の場合は、テーブルAのフィールド2に対応している、テーブルBのフィールド1の値を表示させる事はできますか? 誰か教えて下さい。よろしくお願いします。

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

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.1

テーブルA、Bのサンプルが以下の様だとします。 (テーブルAのフィールド2の名前を id と仮定します) テーブルA フィールド1 id "a"     0 "abc"    10 "b"     0 "bbc"    20 テーブルB id フィールド1 0 (空欄) 10 "AAAAA" 20 "BBBBB" 表示を フィールド1 XXXX "a"      "ABC" "abc"     "AAAAA" "b"      "ABC" "bbc"     "BBBBB" とするものと仮定すると SELECT テーブルA.フィールド1 , IIF(テーブルA.フィールド1 = "a" Or テーブルA.フィールド1 = "b", "ABC", テーブルB.フィールド1) AS XXXX FROM テーブルA LEFT JOIN テーブルB ON テーブルA.id = テーブルB.id; でできると思います。 サンプルを見ていただけるとわかると思いますが、 テーブルB id フィールド1 0 "ABC" 10 "AAAAA" 20 "BBBBB" に変更すると SELECT テーブルA.フィールド1, テーブルB.フィールド1 AS XXXX FROM テーブルA LEFT JOIN テーブルB ON テーブルA.id = テーブルB.id; と変形できると思います。 または、 テーブルB id フィールド1 10 "AAAAA" 20 "BBBBB" であったとすると SELECT テーブルA.フィールド1 , IIF(IsNull(テーブルB.id), "ABC", テーブルB.フィールド1) AS XXXX FROM テーブルA LEFT JOIN テーブルB ON テーブルA.id = テーブルB.id; と変形できると思います。 (IIF 条件を、テーブルBに id が存在しなかったらとした場合)

doradora64
質問者

お礼

非常にわかりやすい回答ありがとうございます。 助かりました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • アクセスのクエリで

    アクセスのクエリで、テーブルAのフィールド1が空白の場合は、0と表示し、(数値型)そうでない場合はフィールド1の値を表示するにはどの様にしたら良いですか? 誰か教えて下さい。よろしくお願いします。

  • アクセス・選択クエリについて

    アクセス・選択クエリについて こんにちは。現在、選択クエリについて悩んでおります。 テーブルAとテーブルBからそれぞれ3つのフィールドを選び、選択クエリを作成。しかし、出来上がったクエリのデータシートには一切データが表示されていません。ならばと思い、テーブルAからだけ3つのフィールドを選びクエリを表示させると、きちんと表示します。テーブルA,テーブルBには当然主キーが設定されていますが、その事と関係するのでしょうか?ご存知の方、どうか教えてください。宜しくお願い致します。

  • アクセスでクエリ実行後の空欄について

    こんにちは。 アクセス初心者の者です。 アクセスを用いてクエリを作成しています。 テーブルAとBがあります。 Aの1フィールドと、Bの1フィールドを結合して、 Aの2フィールドと3フィールドを表示させるようなクエリです。 (結合プロパティで、Bの空欄を無視するようにしています。) しかし、結果を表示してみると、Bの1フィールドはちゃんと値が入っているにもかかわらず、 Aの2フィールドと3フィールドの値が挿入されず、 空欄になっているところが「ところどころ」あります。 入ってるところもあれば抜けているところもあり、不思議です。 データ量が多く、エクスポートすると10Mバイト以上あるのですが、そういうのが影響しているのでしょうか。 ちょっと説明しずらく、わかりずらいかもしれませんが、 その際はもっと説明させていただきますので、 どうぞよろしくお願いいたします。

  • アクセスのクエリでパラメータを表示させない方法は?

    超初心者の質問ですみません。。 アクセスのクエリで、ある数字の全体に対して占める割合を求めるため、以下のような式をいれています。 フィールドC: [フィールドA]/[フィールドB] このクエリを開いたときに毎回パラメータが表示されるのですが、これを表示させないためにはどのようにすればよいのでしょうか?OKを2回押せばきちんと計算された値が入ってくるのですが、毎回OKを押さずに開けるようにしたいです。 ちなみに、フィールドAとフィールドBは、あるテーブルに入っている値をクエリ側で 集計 を「合計」に設定して求めた値が入っていて、フィールドA~Cは同じクエリの中にあります。 VBAやSQLはまったく理解できません。 よろしくお願いします。

  • アクセス テーブル、クエリーについて

     アクセスでソフト作成中です。そこで教えてほしいことがあります。 たとえば下記のように2つのテーブルがあります。 テーブル1   テーブル2   フィールドA    フィールドB  a1       10  b1       20  c1       30          テーブル1の数値は固定します。そこで下記のようなクエリーを作成したいのです。 クエリー1 フィールドA フィールドB a1 10 b1 20 c1 30 テーブル2に数字を入れていくと テーブル1   テーブル2   フィールドA    フィールドB  a1       10  b1       20  c1       30           40 クエリー1 フィールドA フィールドB a1 40 b1 20 c1 30 このように数字が上書きされていくようなクエリーは作成できないでしょうか。(あくまでテーブル1の数値は固定、フィールドAとフィールドBにリレーションシップは設定されていない。) よろしくおねがいします。

  • アクセスのクエリ フィールドの合計

    フィールドの合計 アクセスのクエリでいくつかのフィールドの合計を出そうとして クエリのフィールドに以下の式をいれております。 ⇒合計:([A])+([B])+([C]) (例えば[A][B][C]のフィールドの合計を出すとして) しかし、[A]の値が1、[B]の値が2、[C]の値が2と入っている場合は5と合計値が当然でますが 例えば[C]のフィールドが空欄の場合、合計値欄が空欄で表示されます。 非常に簡単な質問かと恐縮ですがおしえてください!

  • ACCESS クエリでの抽出の方法について

    毎度お世話になっております。 ACCESS2003、SQLSERVER2000を使用しています。 以下のテーブルがあります。 テーブル1 フィールド1   フィールド2   A        10   A        20   A        -10   B         1   B         2   B         3 フィールド1をグループ化し、 フィールド2に0より小さい数がある場合はNG、 ない場合はOKと表示したいのです。 希望する結果 フィールド1   フィールド2   A         NG   B         OK 私が考えた方法は、 1.クエリ1(フィールド2が0以下のフィールド1を抽出する)を作成 2.テーブル1とクエリ1をLEFT JOINし、IS NULL ならOK、そうでないならNGを表示 としました。希望した結果は得られましたが、 もっとスマートな方法(一つのクエリでできるような方法)、 または別解をご教授ください。 よろしくお願いします。

  • アクセスクエリ

    アクセスクエリのフィールド MS-accessのクエリで質問です クエリで、3つのテーブルがあります。 どのテーブルのフィールドにも[売上]があります。 この3つのテーブルの[売上] フィールド1列に表示させる方法はありませんか

  • Access 2007で、テーブルからレコードを削除するクエリを作りた

    Access 2007で、テーブルからレコードを削除するクエリを作りたい。 具体的には、テーブルAのフィールドF1とテーブルBのフィールドF2があるとします。このとき、テーブルA中の各レコード(仮にXとします)であって、そのF1の値と同じ値をF2に持つレコードがテーブルBに含まれている場合は、(テーブルAから)そのレコードXを削除するという処理をしたいのです。ややこしいと思いますが、これをクエリやマクロで作ることはできるでしょうか? 私はVBAを知らない初心者です。上の処理も文章で書くと理解してもらえるかどうか不安ですが、だれか助けて下さい。

  • Accessのクエリーについて教えてください。

    Access2000を使用しています。 不慣れなので、どういう設定をしたらいいのか悩んでおります。こんなことできますか? 1.テーブルが2つ存在しており、クエリーで1つ目のテーブルから項目Aと項目B、2つ目のテーブルから項目Bの3つを表示しています。 (2つ目のテーブルにも項目Aはあります。) 2.表示されたデータの中で、項目Bともう1つの項目Bの値が異なっているものだけを表示したいと思うのですが、どのように設定したらいいのでしょうか?

プロバイダーの変更について
このQ&Aのポイント
  • プロバイダーの変更による影響とは?
  • 楽天ひかりへの変更による利用継続は可能か?
  • auひかりから楽天ひかりへの変更の手続きはどのように行う?
回答を見る

専門家に質問してみよう