CREATE TABLE mit werte aus bestehenden TABLE

wie erstellt man eine tabelle, die aus werten einer bereits existierenden tabelle besteht ?

um meine frage zu konkretisieren,
ich hab folgende relationen:
Programmierer (PNr, Vorname, Nachname, Geburtsdatum)

hat_Qualifikation (PNr, SNr, grade)

Programmiersprache (SNr, Name, Sprachklasse)

was ich erzielen will ist eine neue tabelle namens
multi_talente. in dieser müssen die selben attribute wie in Programmierer sein
jedoch nur von den programmierern die mehr als eine programmiersprache können.

wie kann man sowas realisieren?


schon bei der einschränkung haperts bei mir bereits:


select p.vorname, p.nachname
from programmierer p, hat_qualifikation hq, programmiersprache ps
where snr IN(
(select snr
from programmiersprache
where p.pnr = hq.pnr and ps.snr = hq.snr))
group by snr
having count(snr) > 1

\

having count(snr) > 1

  • //pointer steht unter (snr)

ERROR at line 8:
ORA-00918: column ambiguously defined

Erstens ist Oracle hier OffTopic und zweitens ist die Fehlermeldung doch eindeutig, oder?

Andreas

sorry, aber ich habs eben nunmal nur in ner oracle testen können

hier die lösung falls es jemanden interessiert

create table multi_talente as select * from programmierer where pnr in
(
select p.pnr from programmierer p
inner join hat_qualifikation hq
on p.pnr = hq.pnr
inner join programmiersprache ps
on hq.snr = ps.snr
group by p.pnr
having count(p.pnr) > 1
);