- ベストアンサー
SQLを教えてください
単純そうなのですがSQLが分かりません。 次のような2つのテーブルがあるとします。 TableA ( a VARCHAR2(2) b VARCHAR2(30) ) TableB ( x VARCHAR2(2) y VARCHAR2(30) z1 VARCHAR2(2) z2 VARCHAR2(2) z3 VARCHAR2(2) z4 VARCHAR2(2) z5 VARCHAR2(2) ) この時にTableBはTableAのグループみたいなものでz1からz5までがTableAのaが登録されています(NULLの場合もあります)。ここでTableBの内容を表示するときに x, y, b1, b2, b3, b4, b5 と出力したいのです。 すみませんがよろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
SELECT m1.x, m1.y, t1.b, t2.b, t3.b, t4.b, t5.b FROM TableB m1, TableA t1 , TableA t2 , TableA t3 , TableA t4 , TableA t5 WHERE (m1.z1 = t1.a (+)) And (m1.z2 = t2.a (+)) And (m1.z3 = t3.a (+)) And (m1.z4 = t4.a (+)) And (m1.z5 = t5.a (+));
その他の回答 (1)
- CupNaka
- ベストアンサー率22% (13/57)
出力っていうのはSELECTって意味でしょうか? SELECT x,y,z1 AS b1,z2 AS b2.....とかじゃなくてですか?
補足
早速ありがとうございます。 Select でz1に対応するb, z2に該当するb,・・・ の意味です。 書き方が悪くて申し訳ありませんでした。
お礼
ありがとうございました。 お蔭様で無事表示することが出来ました。 最初に(+)を逆に付けていました(^^; それでいくらやってもエラーとなっていました。