1633776548 AccessのSQLにて2つのテーブルから情報を取得し、1つのテーブルに書き込みたいです


今、「T_メニュー統合」という、何もデータが入っていないテーブルがあります。
https://f.hatena.ne.jp/moon-fondu/20211009194434

そして別に「T_メニュー一覧」「T_新メニュー一覧」という、2つのテーブルがあります。

この2つのテーブルから「商品コード」「商品名」「店舗ID」というカラムの情報を取り出し、「T_メニュー統合」にデータをコピーしたいのです。

書き込まれた後の「T_メニュー統合」テーブルのデータ一覧が、添付画像のようになればよいのですが。

回答の条件
  • 1人20回まで
  • 登録:
  • 終了:2021/10/12 15:43:49
id:moon-fondu

ただ、「T_メニュー一覧」テーブル https://f.hatena.ne.jp/moon-fondu/20211009194438 は、全てのデータを取得したいのですが。

「T_新メニュー一覧」テーブル https://f.hatena.ne.jp/moon-fondu/20211009194431 の方は、商品コード70001~70003のデータは、取得したくないのです。


そのような書き込むを行うSQLがありましたら、お教えいただけますと有難いです。


質問のAccessファイルはこちらになります。

https://xfs.jp/QqE1NU


よろしくお願い致します<m(__)m>

ベストアンサー

id:a-kuma3 No.1

回答回数4932ベストアンサー獲得回数2136

ポイント1500pt

こんな感じになるかと。

select
    商品コード, 商品名, 店舗ID
    from
        T_メニュー一覧
union
select
    Val(商品コード), 商品名, 店舗ID
    from
        T_新メニュー一覧
    where
        not Val(商品コード) between 70001 and 70003

商品コードの型が、それぞれのテーブルで異なるので、union を使うには、

どちらかに寄せる必要があります。

先のは「数値」の方に寄せましたが、Str() 関数を使って「文字列」に

寄せても同様に書けます。

id:moon-fondu

ありがとうございます!

うまくいきました。

val関数で型も合わせていただき、すみません。

数値型になってなかったです(・・;)

union selectでselect文の結果を結合する処理や、where not~で条件を絞るのもあまり使ったことがなかったので、勉強になりました(^^;

2021/10/12 15:43:36

その他の回答0件)

id:a-kuma3 No.1

回答回数4932ベストアンサー獲得回数2136ここでベストアンサー

ポイント1500pt

こんな感じになるかと。

select
    商品コード, 商品名, 店舗ID
    from
        T_メニュー一覧
union
select
    Val(商品コード), 商品名, 店舗ID
    from
        T_新メニュー一覧
    where
        not Val(商品コード) between 70001 and 70003

商品コードの型が、それぞれのテーブルで異なるので、union を使うには、

どちらかに寄せる必要があります。

先のは「数値」の方に寄せましたが、Str() 関数を使って「文字列」に

寄せても同様に書けます。

id:moon-fondu

ありがとうございます!

うまくいきました。

val関数で型も合わせていただき、すみません。

数値型になってなかったです(・・;)

union selectでselect文の結果を結合する処理や、where not~で条件を絞るのもあまり使ったことがなかったので、勉強になりました(^^;

2021/10/12 15:43:36

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません