• ベストアンサー

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 と出力したいのです。 すみませんがよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ALGO-9
  • ベストアンサー率66% (12/18)
回答No.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 (+));

kachimi
質問者

お礼

ありがとうございました。 お蔭様で無事表示することが出来ました。 最初に(+)を逆に付けていました(^^; それでいくらやってもエラーとなっていました。

その他の回答 (1)

  • CupNaka
  • ベストアンサー率22% (13/57)
回答No.1

出力っていうのはSELECTって意味でしょうか? SELECT x,y,z1 AS b1,z2 AS b2.....とかじゃなくてですか?

kachimi
質問者

補足

早速ありがとうございます。 Select でz1に対応するb, z2に該当するb,・・・ の意味です。 書き方が悪くて申し訳ありませんでした。

関連するQ&A