![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67b6d)
お知恵を貸してください。
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ステートメントでどう記述すれば良いですか?
No.1ベストアンサー
- 回答日時:
> 2つ作ったり等したくないのですが
同一内容のテーブル(つーかオブジェクト)を複数作りたくないと
解釈しましたが、それでも大丈夫でしょうか?
であれば、Bテーブルのエイリアスを使えば以下のように可能です。
select Aテーブル.id, Aテーブル.商品コード1, Bテーブル.商品名, Aテーブル.商品コード2, Bテーブル_1.商品名
from (Aテーブル inner join Bテーブル on Aテーブル.商品コード1 = Bテーブル.商品コード)
inner join Bテーブル as Bテーブル_1 on Aテーブル.商品コード2 = Bテーブル_1.商品コード;
この回答への補足
ご回答ありがとうございます。
エイリアスって、どう意味でしょうか?
あと
『Bテーブル_1』の『_1』というのは、よくACCESSのデザインビューで
同じテーブルを表示するとよくテーブル名に、『_1』『_2』『_3』・・・・
とついていくのと同じ意味でしょうか・・・。
重ねて質問してしまって申し訳ないですが、お答えいただければ嬉しいです。
No.3
- 回答日時:
No2さんの回答を SQL 文にて実行しCテーブルを作成してみました。
<C>
ID 商品コード1 B_商品名 商品コード2 B_1_商品名
1 1111 ああああ 2222 いいいい
2 2222 いいいい 3333 うううう
3 4444 ええええ 5555 おおおお
このような結果を得ました。
Private Sub コマンド0_Click()
Dim isOK As Boolean
Dim strSQL As String
strSQL = "SELECT A.ID, A.商品コード1, B.商品名, A.商品コード2, B_1.商品名 " & _
"INTO C " & _
"FROM (A LEFT JOIN B ON A.商品コード1 = B.商品コード) LEFT JOIN B AS B_1 ON A.商品コード2 = B_1.商品コード;"
isOK = CnnExecute(strSQL)
If isOK Then
MsgBox "テーブルCを生成しました。"
End If
End Sub
なお、CnnExecute() は ADODB.Connection の Execute メソッドを利用して SQL文を実行するというものです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「マスタ」と「テーブル」の違...
-
重複するキーから一番古い年月...
-
Accessでフィールドを比較した...
-
ACCESS 一つのフィールドに複...
-
Accessユニオンクエリーで2つ...
-
片方だけ抽出する方法(SQL)
-
Inner join と Left joinの明...
-
PLSQLで集計関数の値を配列に入...
-
2つのテーブルから条件に一致...
-
主キーの変更
-
場合によって条件を変えるSQL
-
副問い合わせでのNULLの抽出方法
-
SQL 2つのテーブルとSUBSTRING...
-
SELECT時にカウントアップ
-
アクセスで重複しない商品コー...
-
行方向のデータを横に並べる
-
既に使用されているので、使用...
-
Accessにインポートしたら並び...
-
sqlserverで集計結果をUPDATEし...
-
ACCESSのSQLで、NULLかNULLでな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「マスタ」と「テーブル」の違...
-
重複するキーから一番古い年月...
-
2つのテーブルから条件に一致...
-
ACCESS 一つのフィールドに複...
-
行方向のデータを横に並べる
-
主キーの変更
-
PLSQLの識別子エラー
-
ACCESSのコンパイルエラーについて
-
Accessでフィールドを比較した...
-
Inner join と Left joinの明...
-
続.ORACLEのSELECTのソートに...
-
片方だけ抽出する方法(SQL)
-
accessで移動平均する方法
-
SQL 2つのテーブルとSUBSTRING...
-
商品コード番号を入力すると商...
-
下記のsqlで取得されるレコード...
-
発注テーブルの発注残数を納品...
-
Accessユニオンクエリーで2つ...
-
請求と入金のテーブルの作成の...
-
日報計算
おすすめ情報