プロが教える店舗&オフィスのセキュリティ対策術

以下の表1、2の比較を考えております。

表1 表2
A社 A社
A社 B社
B社 B社
B社 C社
C社 D社
C社 D社
E社

表2の中で表1に該当するレコードだけ出力したいと考えております。

Q1、クエリの設定方法の流れを教えていただけますでしょうか。

また出力結果は以下を想定しています。
クエリ
A社
B社
B社
C社

自分でやっているのですが、なかなかうまくいきません。
すみませんが、宜しくお願い致します。

質問者からの補足コメント

  • どう思う?

    ご回答ありがとうございます。

    すみません、記載不足でしたが、表1に1つしかB社がなかった場合は、B社が一つしか出力しない設定が必要です。

    用途としては、交通費の精算をイメージしていただければと思います。
    表1が旅費事前申請、表2旅費精算です。
    条件として事前申請がないと旅費精算は受け付けないという事になっています。

    また当方初心者のため、実際に設定する箇所を教えていただけると大変助かります。

    No.1の回答に寄せられた補足コメントです。 補足日時:2016/03/22 14:08

A 回答 (2件)

表1に1つしかB社がなかった場合でも、同じ出力でよいなら、


SELECT 表2.社名, 表1.社名 From 表2 Left Join 表1 on 表2.社名=表1.社名 where 表1.社名 is not null

とか。
この回答への補足あり
    • good
    • 0

>条件として事前申請がないと旅費精算は受け付けないという事になっています。


社名以外に申請と請求を1:1で結びつけるフィールドが必要です。
それがないなら、「急いで」これを解決することは困難だと思います。


解決法としては、申請IDというユニークなインデックスを表1に作り、表2にもその値を入れておき、それらを結合させることが必要です。

テーブルの結合は、こんな感じでできると思います。
http://ms-access.seesaa.net/article/46193086.html

で、それをleft joinにするには、線をクリックして二番目のラジオボタンにチェックを入れてOKを押す。
結果的には線が矢印になる(こんな感じ)。 5番目の画像
http://www.feedsoft.net/access/tips/tips111.html 

で、選択クエリにして置き、is not nullを何らかのフィールドに指定すれば、完成です。
http://www.helpforest.com/access/ob_query/ac0500 …

これをSQLビューに変更すると、(やたらめったら括弧だらけの)SQL文として見ることができます。 ここに、SQLを張り付けて動作することもありますが、ACCESSならではの制限もあり、使いやすいとは言えないかもしれません。
    • good
    • 0
この回答へのお礼

ありがとうございました。
なんとかできました。

お礼日時:2016/04/03 16:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す