dポイントプレゼントキャンペーン実施中!

現在、Oracle8.1.7で開発中です。
こんなことできますか?

テーブル1にDT番号をもったデータがあります。
テーブル2にそれぞれのDT番号のフィールドに入れたいのです。

テーブル1
 型名 DT番号 データ
  あ  1   10
  あ  2   30
  あ  3   50
  あ  5   20

テーブル2
 型名 DT1 DT2 DT3 DT4 DT5 
  あ  10  30  50      20 
                 ↑
                 なかったので、スペース1文字

なかなか効率のよい方法が見つかりません。
よろしくお願いしますm(_ _)m

A 回答 (1件)

フィールドに入れる、ってINSERTのことでしょうか?


テーブル2のDTは5列固定なのでしょうか?
であるとして回答します。


テーブル1にDecodeとMaxをかけてやるSelect文を作ればいいと思います。

--------------------------------------------
Select
型名
,Max(Decode(DT番号,1,データ,Null)) As DT1
,Max(Decode(DT番号,2,データ,Null)) As DT2
,…
From
テーブル1
Group By
型名
--------------------------------------------

こんな感じでしょうか。
あとはこれを元にInsertすれば良いです。
    • good
    • 0
この回答へのお礼

早速のご回答、ありがとうございます。
やりたいことがすんなりできました!!
ほんとに困っていたので、とても助かりました。

こういうやり方もあるのですね。
まだまだ勉強が足りないようです。
ありがとうございましたm(_ _)m

お礼日時:2002/12/16 17:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!