SQL => Daten von A nach Spaltenname in B

Hallo zusammen,

ich habe folgendes Problem. Datenbank ist Oracle.

Tabelle A

A_ID - Konzept

1 101
2 102
3 103
4 104
5 105

Nun moechte ich Tabelle B so haben das die Daten aus Konzept (101,102,…) in B als Spalten „B_Konzept“ ausgegeben werden.

Tabelle B

B_ID B_101 B_102 B_103 B_104 B_105

1
2
3
4
5

Ich bin mir nicht ganz sicher wie ich das in SQL ausdruecken kann. Evtl. etwas mit ALTER TABLE (B ist schon vorhanden und soll kontinuierlich erweitert werden).

In diesem Zusammenhang eine weitere Frage die jedoch zweitrangig ist bis sich Frage 1 geloest hat.

Da Tabelle B kontinuierlich erweitert wird waere eine Automatisierung in Form eines Batches ganz gut… also wenn mir dazu jmd Tipps hat. Danke!

Sollte irgendwas unverstaendlich bleiben bitte einfach Fragen.

Gruesse

Eckbert

Hi!

Ich bin mir nicht ganz sicher wie ich das in SQL ausdruecken
kann. Evtl. etwas mit ALTER TABLE (B ist schon vorhanden und
soll kontinuierlich erweitert werden).

Meine Frage: Wozu?

Wieso willst Du dynamische Daten in eine starres Tabellenformat „pressen“??

Da Tabelle B kontinuierlich erweitert wird waere eine
Automatisierung in Form eines Batches ganz gut… also wenn
mir dazu jmd Tipps hat.

Nur mal so aus der Hüfte geschossen:

begin
 for x in (select id from a) loop
 begin
 execute immediate ('alter table b add column b\_'||to\_char(x.id));
 exception
 when OTHERS then
 null; -- falls Spalte schon vorhanden ist, andere Fehler ignoriere ich jetzt einmal 
 end;
 end loop;
end;

Wie gesagt - einfach mal so hingeschmiert von mir … und der Sinn der Sache erschließt sich mir noch immer nicht …

Grüße,
Tomh