
こんにちわ。
■テーブルA
ID |名称 |
--------------
01 |ああ |
02 |いい |
03 |うう |
■テーブルB
ID |場号1 |番号2
--------------
01 |03 |01
02 |02 |03
03 |03 |02
この2つのテーブルを下記のように結合したいのです。
テーブルB.ID, テーブルB.番号1, テーブルA.名称(番号1より), テーブルB.番号21, テーブルA.名称(番号2より)
つまり、
01 | 03 | うう | 01 | ああ
という形で、
テーブルA.名称(番号1より)または テーブルA.名称(番号2より)
だけであれば参照できるのですが同じテーブルからの2回参照ができません。。
どうかご教授ください。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
この手の場合、普通は外部結合しますね(明示的でわかりやすいし)
inner joinでもいいですが、何らかの理由で名称がないことも
想定するとleft joinが妥当でしょう。
SELECT
`テーブルB`.`ID`, `テーブルB`.`番号1`, A1.`名称` , `テーブルB`.`番号2`, A2.`名称`
FROM `テーブルB`
LEFT JOIN `テーブルA` AS A1 ON `テーブルB`.`番号1`=A1.`ID`
LEFT JOIN `テーブルA` AS A2 ON `テーブルB`.`番号2`=A2.`ID`
No.2
- 回答日時:
テーブルAを別名で2つ利用すればいいかと。
ANo.1さんのSQLをアレンジして、
select b.id
b.番号1
a.名称
b.番号2
c.名称
from テーブルA a,
テーブルB b,
テーブルA c
where b.番号1 = a.ID
and b.番号2 = c.ID
かな。
似たような質問がほかにもありましたので詳しくは、
参考URLのANo.4の後半、「次に、1テーブルを別名で結合する件ですが、~」以降を見てください。
参考URL:http://okwave.jp/qa3001981.html
No.1
- 回答日時:
select b.id
b.番号1
a.名称
b.番号2
c.名称
from テーブルA a,
テーブルB b,
(select * from テーブルA) c
where b.番号1 = a.ID
and b.番号2 = c.ID
テスト環境がないから自信なし。
ベンダーによって構文も違うし。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「テーブルに座って……」という...
-
飲み会で、座敷orテーブルどち...
-
AccessのSQL 部分一致したデー...
-
外部キーだけのテーブル(主キ...
-
会社の飲み会の幹事になり、座...
-
男性と2人で飲食店に行きテーブ...
-
面接のときテーブルが正面に。...
-
SQLでテーブルの値を集計して、...
-
off of と fromの違いを教えて...
-
テーブルの凸凹の修復
-
複数のAccessを統合する方法
-
Excelのテーブルでmatch関数の...
-
【エクセル】データテーブルの...
-
mysql の容量制限
-
Excel:テーブルではなく、ただ...
-
まるいテーブル 円い 丸い 漢字...
-
ACCESS テーブルのRENAME
-
MYSQLで表の結合と検索
-
リレーションシップが出来ません。
-
複雑なSQL文について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「テーブルに座って……」という...
-
AccessのSQL 部分一致したデー...
-
外部キーだけのテーブル(主キ...
-
テーブルリンク リンク元を知...
-
会社の飲み会の幹事になり、座...
-
mysqlのupdate構文についての質...
-
面接のときテーブルが正面に。...
-
L2SWはARPテーブルを持っている?
-
飲み会で、座敷orテーブルどち...
-
下記、問題に対しての解答が以...
-
お金持ちのテーブル
-
【エクセル】データテーブルの...
-
男性と2人で飲食店に行きテーブ...
-
ACCESS テーブルのRENAME
-
アクセスのリンクテーブル一覧...
-
時給の変更に対応する方法
-
論理名とコメント構文(?)について
-
SQLです教えてください。
-
SNMPでスイッチのMACアドレステ...
-
テーブル:生徒名簿 生徒名簿の...
おすすめ情報