• 締切済み
  • 困ってます

SQLで実現出来るものか教えてください(別途、プログラムが必要?)

SQLで実現出来るものか教えてください(別途、プログラムが必要?) Accessで、下記の様な二つのテーブルがあります。 【テーブルA:データテーブル】 テーブルAの1レコード目~「新商品コード:001;002;999」「商品名一覧:みかん」 テーブルAの2レコード目~「新商品コード:002;003;999」「商品名一覧:いちご」 【テーブルB:新果物マスタ】 テーブルBの1レコード目~「新商品コード:001」「商品名:バナナ」 テーブルBの2レコード目~「新商品コード:002」「商品名:レモン」 テーブルBの3レコード目~「新商品コード:003」「商品名:パイン」 テーブルBの4レコード目~「新商品コード:999」「商品名:その他」 テーブルAの新商品コードに該当する商品名を、テーブルBから取得して、 テーブルAの商品名一覧に加えたいのですが、どんなSQLで出来るでしょうか? <欲しい結果> テーブルAの1レコード目~「新商品コード:001;002;999」「商品名一覧:みかん、バナナ、レモン、その他」 テーブルAの2レコード目~「新商品コード:002;003;999」「商品名一覧:いちご、レモン、パイン、その他」

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数58
  • ありがとう数31

みんなの回答

  • 回答No.2

どうも。解決したでしょうか。 コードで処理をすることになりますが。 テーブルAのレコードはまだたくさんある、 と理解していいのですか。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • ACCESS SQLステートメントについて初心者です。

    お知恵を貸してください。 ACCESSでSQLステートメントで 『Aテーブル』 ID  商品コード1 商品コード2 1    1111    2222 2    2222    3333 3    4444    5555   『Bテーブル(商品コードマスター)』 商品コード  商品名 1111     ああああ 2222     いいいい       3333     うううう 4444     ええええ 5555     おおおお AテーブルとBテーブルを結合して ID  商品コード1 商品名    商品コード2   商品名 1    1111  ああああ     2222    いいいい 2    2222  いいいい     3333    うううう 3    4444  ええええ     5555    おおおお というCテーブルを作りたいです。 商品コード1と商品コード2の両方共 Bテーブルの商品コードから商品名を取得したいのですが、できないのですが・・・・ 出来ればBテーブル(商品コード)を2つ作くったり等したくないのですが、SQLステートメントでどう記述すれば良いですか?      

  • SQL文で質問

    SQL文で質問 いつもお世話になっております。 SQL文について質問です。 仮にですが、商品マスタというテーブルと、対応テーブルという二つのテーブルがあります。 対応テーブルには、商品コードが親コード、子コードといった形で構成されています。 対応テーブルのいくつかの親のコードを条件に、親コードと子コードを検索して、それぞれの商品名を検索したいと思っています。 現在、SQL文で、親コードに対応した商品名だけを取得しているのですが、子コードに対応する商品名も検索したいと思っています。 現在のSQL分としては、 SELECT 対応テーブル.親コード、商品マスタ.商品名、対応テーブル.子コード FROM 対応テーブル,商品マスタ WHERE 対応テーブル.親コード = 商品マスタ.商品コード AND 対応テーブル.親コード = 1000,1002,1004 このSQL文で検索した子コードで、商品マスタの商品名を検索したいのですが、どのようなSQLを書いたらよいのでしょうか。 ご教授願います。

  • group byにより集計した結果での名称取得方法

    次のようなテーブルがあったとして、一回のSQLで商品名称とその売上件数の一覧を作成することは可能なのでしょうか? 【売上テーブル】 ID 販売日 商品ID 0001 2011/01/01 1 0002 2011/01/01 2 0003 2011/01/03 1 0004 2011/01/10 1 0005 2011/01/12 2 ・・・ 【商品マスタ】 ID 商品名 1 りんご 2 みかん 3 いちご 【最終的に作成したい一覧】 商品名 件数 りんご 3 みかん 2 いちご 0 ※売上テーブルに存在しない商品についても、件数が0件として一覧に出力出来るようにしたいです。 select 商品ID from 売上テーブル group by 商品ID にて商品ID毎の件数を算出し、それとは別に select ID,商品名 from 商品マスタ として、商品IDと名称のリストを取得後、アプリにてこれらの情報を突き合わせれば実現できるのは分かるのですが、これらの処理を一回のSQLにまとめることは可能なのでしょうか? よろしくお願いします。

  • Access2010 レポートについて

    商品というテーブルと商品マスターというテーブルがあります。 商品テーブルに入力した商品コードをもとに、商品マスターから直接レポート上に単価の項目を呼び出したいのですが、どうすれば良いのですか? (両テーブルの商品コードが一致した場合、マスターテーブルの単価の項目を呼び出す) クエリで必要な項目を表示させ、レポートにするしか方法はないのでしょうか? 【商品テーブル】 商品コード   商品名      個数  123     りんご        10  456     みかん       20  789     バナナ       30 【商品マスター】 商品コード   商品名      単価  123     りんご       100  456     みかん       200  789     バナナ       300 【レポート】※商品テーブルをもとに 123   個数    単価 りんご    10    100 ←商品マスターから直接表示したい

  • Access2010 レポートについて

    商品というテーブルと商品マスターというテーブルがあります。 商品テーブルに入力した商品コードをもとに、商品マスターから直接レポート上に単価の項目を呼び出したいのですが、どうすれば良いのですか? (両テーブルの商品コードが一致した場合、マスターテーブルの単価の項目を呼び出す) クエリで必要な項目を表示させ、レポートにするしか方法はないのでしょうか? 【商品テーブル】 商品コード   商品名      個数  123      りんご        10  456      みかん       20  789      バナナ       30 【商品マスター】 商品コード   商品名      単価  123      りんご       100  456      みかん       200  789      バナナ       300 【レポート】※商品テーブルをもとに 123    個数    単価 りんご    10     100 ←商品マスターから直接表示したい

  • access テーブル結合の逆?

    Access2003 お世話になります。SQLで以下のようなデータを取得する場合、上手い方法はあるのでしょうか。なんだかとても簡単な事のような気がするのですが…… テーブルA: ---品名--- りんご みかん もも いちご テーブルB: ---品名--- りんご もも このテーブルBに入力されているレコードをテーブルAから"除外"して、結果として「みかん」と「いちご」だけが欲しいのです。 テーブルBのレコードが少なければ、直接 品名<>"りんご" とか書いてもいいのかもしれませんが、結合のようなSQLで一発でできてしまったりしないでしょうか。 access上で可能なスマートな方法があれば教えていただきたいです。 よろしくお願いいたします。

  • SQL文を教えて下さい

    VB2008、SQL Server で開発をしています。 下記の条件でデータを取得したいのですが、SQL文がうまくできず、困っています。 おわかりの方、教えてください。 仕様:得意先マスタ(得意先M)の全件と、売上テーブル(売上T)を読みます。     売上テーブルの商品コードの商品名を商品マスタ(商品M)より取得します。     得意先マスタの全得意先を取得する必要があります。     すべての得意先の売上データが存在するわけではありません。 ACCESS上でクエリを作成し、SQLビューにすると、こうなります。 inptSyoCD:画面から入力した商品コード 1,まず、クエリ1: SELECT 売上T.伝票日付, 売上T.伝票番号, 売上T.得意先コード, 売上T.明細区分, 売上T.商品コード, 商品M.商品名称 FROM 売上T LEFT JOIN 商品M 売上T.商品コード = 商品M.商品名 WHERE 売上T.明細区分=1 AND 売上T.商品コード= inptSyoCD ; 2,次に、実際に処理するSQL文: SELECT 得意先M.得意先コード, 得意先M.得意先名称,       クエリ1.伝票日付, クエリ1.伝票番号, クエリ1.明細区分, クエリ1.商品コード, クエリ1.商品名  FROM 得意先M LEFT JOIN クエリ1 ON 得意先M.得意先コード = クエリ1.得意先コード ORDER BY 得意先M.得意先コード,売上T.伝票日付,売上T.商品コード; この2つをひとつのSQL文にする方法がわかりません。 よろしくお願いいたします。

  • 【SQL】あるマスタのレコードに存在しない項目を取得する。

    下記のような2つのマスタがあるとします。 ・商品名マスタ 商品コード  商品名 - - - - - -  - - - - - - n01       ナス k01       カボチャ n02       ニンジン t01       タマネギ ・購入履歴マスタ 履歴連番  商品コード  購入日時 - - - - -   - - - - - -  - - - - - - 001     n01      2008-07-01 002     k01      2008-07-02 003     n01      2008-07-03 004     n01      2008-07-04 005     k01      2008-07-04 このとき、購入履歴マスタのレコードに存在しない商品を取得するSQLはどのように組み立てればよいでしょうか? 例えば上記例で言えば、下記のような結果を得ることが目的です。 商品コード  商品名 - - - - - -  - - - - - - n02       ニンジン t01       タマネギ 以上、よろしくお願いします。

  • SQLを教えてください!!

    テーブルAとテーブルBがあり、両方に存在しないものを抽出してエラーとする処理を行いたいのですが、 どういうSQlを書いたらいいのか教えてください。 下記例としてテーブルにデータがあったとしたら、結果として 004 商品D 005 商品E 006 商品G というデータを抽出したいのですが・・ テーブルA             テーブルB -------------        ----------------------- コード  商品名 NO コード   商品名 001 商品A        1 001 商品A 002 商品B        2 001  商品A 003 商品C        3 002   商品B 004 商品D        4 003 商品C 006 商品G        5 003 商品C                 6 005 商品E

  • 【SQL】登録されているかを比較したい

    SQL初心者で仕事でSQL文を考えています。 どのようにすればいいのかよくわからないので教えてください。 現在、商品マスタと価格テーブルがあります。 (商品マスタ) 商品コード 商品名  0001    商品A  0002    商品B  0003    商品C  0004    商品D (価格テーブル)  商品コード 価格  登録日   0001    100円  11/1   0001    110円  11/2 0002 200円 11/1 0002 190円 11/2 0001 105円 11/3 それぞれの商品(商品コード)には毎日価格を登録するようになっています。 今日が11/3である場合、商品コード=0001、商品Aは登録がされていますが その他の商品は登録されていない状況です。 碌このような状況で「今日の価格は全商品登録されているか」 ということをSQLでチェックすることはできるのでしょうか。 2回のSQLに分けて個数を比較するが普通ですか。 たとえば、 (1)select count from 商品マスタ (2)select count from 価格 where sysdate = 登録日 (1)-(2)が0でないのですべて登録できていないと判断する。 複雑すぎてよくわかりません。 よろしくおねがいします。