• 締切済み

Oracle SQL 2つのテーブルを使用する書き方について

OracleSQLどころかSQLが初めてなのですが、以下のような事がしたいんです。 金額テーブル       品名マスタ 品名コード 品名 金額  品名コード 品名コード名 1      ○○ \100   1      1の名前 1      ○× \250   2      2の名前 2      △△ \200   この2つを使用して 品名 品名コード1の金額 品名コード2の金額  というテーブルをSQL上で書きたいのですが、可能でしょうか? 可能であればどういう書き方にするといいのかご指導宜しくお願いします。

みんなの回答

回答No.1

SQL自体が初めてということなので質問自体が少し 的を得ていないような気がしますので確認させてください。 (質問に対して質問で返してしまい、申し訳ありません。) 最終的には 「品名 品名コード1の金額 品名コード2の金額」 といった形のテーブルを作りたい (「SQL上で書きたい」という表現が良く理解できなかったので、「作りたい」という意味と当方で勝手に捕らえました。) ということだと思うのですが、 品名も品名コード1の金額も品名コード2の金額も全てもとの金額テーブルにある列なので品名マスタは必要無いということになります。 (品名コード名を表示するとき以外は品名マスタは要らないですし、  そもそもこの表の名前自体品名コード名マスタという表名にするべき) また、元の金額テーブルでは品ごとにレコード(行)がありますが、 「品名 品名コード1の金額 品名コード2の金額」 といった形のテーブルを作りたいということであれば1行に 元表の1行を押し込めることになりますのでsumやcountといった グループ関数というものを用いることが必要になってきます。 そもそも金額テーブルにおいて品名が○○と○×と違うのに 品名コードが同じ1でよいのでしょうか? 少しやりたいことがわからないのでもう少し質問文を修正していただいてもよろしいでしょうか。 回答についてはそれからさせてもらいたいと思います。

tanumyo
質問者

お礼

whiteline507さん、読んで頂いて光栄です。 つい先ほどこの件が解決しまして、せっかくご回答頂こうとしていたところ、申し訳ありません。大至急締め切りすべきでした。ご迷惑おかけしました。

関連するQ&A