質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

1回答

867閲覧

SQLによる複数テーブルの結合

cd987456

総合スコア33

Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

1クリップ

投稿2021/09/08 10:02

編集2021/09/09 05:48

SQLのSELECT文でOracle Database抽出しようとしています。

VBAのADODB.ConnectionオブジェクトとSQL文を使ってエクセルにデータを抽出しようとしています。

下記の場合の抽出方法が分かりません。

内容は2つのテーブルがあります。
【納品計画テーブル】と【製品構成テーブル】の2種類です。

【納品計画テーブル】
HINMOKU NOUKI KEIKAKUSUU
魚 20210901 10
肉 20210905 20
果物 20210806 30
野菜 20210403 40

【製品構成テーブル】
OYA_HINMOKU KO_HINMOKU
魚 サンマ
魚 イワシ
魚 サケ
肉 牛
肉 鶏
果物 梨
果物 ミカン
果物 ブドウ
野菜 ほうれん草
野菜 大根

2つのテーブルを結合し、下記のようにしたいです。
HINMOKU NOUKI KEIKAKUSUU KO_HINMOKU
魚 20210901 10 サンマ
魚 20210901 10 イワシ
魚 20210901 10 サケ
肉 20210905 20 牛
肉 20210905 20 鶏
果物 20210806 30 梨
果物 20210806 30 ミカン
果物 20210806 30 ブドウ
野菜 20210403 40 ほうれん草
野菜 20210403 40 大根

分からないのは2つのテーブルの別の列名を基に結合させる方法です。
納品計画テーブルの「HINMOKU」と製品構成テーブルの「OYA_HINMOKU」を基に
【製品構成テーブル】の「KO_HINMOKU」を結合させたい。

コードを書いてみました。

strSQL = "select HINMOKU,NOUKI,KEIKAKUSUU,KO_HINMOKU"
strSQL = strSQL & " from 納品計画テーブル LEFT OUTER JOIN 製品構成テーブル ON 納品計画テーブル.HINMOKU =製品構成テーブル.OYA_HINMOKU"

エラーで止まってしまいます。
コードをどのように修正したら良いでしょうか?

エラーメッセージは
[Microsoft][ODBC driver for Oracle][Oracle]ORA-00918:列の定義が未確定です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gentaro

2021/09/08 10:09

> エラーで止まってしまいます。 そのエラーについて何を調べてどこがわからないのか、エラーメッセージの内容は何なのか、ぐらいは質問文に書くべきでしょう。
cd987456

2021/09/09 02:04

VBAのADODB.ConnectionオブジェクトとSQL文を使ってエクセルにデータを抽出しようとしています。 エラーメッセージは [Microsoft][ODBC driver for Oracle][Oracle]ORA-00918:列の定義が未確定です。
Orlofsky

2021/09/09 04:10

質問を修正してください。
gentaro

2021/09/09 06:10

「そのエラーについて何を調べてどこがわからないのか」は無視するのか。 丸投げだな。
Orlofsky

2021/09/09 07:33

追記依頼した内容が追加されるまで放置かな?
guest

回答1

0

ここの掲示板ではMarkdownの使い方を覚えてください。
質問のSQLコードは Markdown の [コード] に修正してください。
SQLで使っているテーブルのテーブル定義はCREATE TABLE文で。データはINSERT文で同じくMarkdownのコードで追記してください。

エラーで止まってしまいます。

質問に表示されたエラーメッセージを追記しては?

投稿2021/09/08 11:32

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問