Hallo
ich habe eine Tabelle “t_aufgaben” mit verschiedenen Attributen. Es gibt ein Attribut “a_kategorien” es enthält, logisch, die Kategorie als Name (z.B. Forschung). Nun habe ich eine zweite Tabelle angelegt “t_kategorien” und habe alle Kategorien übertragen (a_kat_id, a_ kategorie). In “t_aufgaben” habe ich einen Fremdschlüssel angelegt und das Attribut “a_kat_id” eingefügt. Trage ich in das Attribut z.B. 5 ein zeigt es mir auch richtig beim select die dazugehörige Kategorie an.
Nun möchte ich aber in dem Attribut “t_aufgaben.a_kat_id” nicht alle Werte manuell eintragen.
Bestimmt gibt es eine Anweisung, die die Werte automatisiert ausfüllt.
Vielleicht hat jemand eine Idee!
Gruß
Du musst in t_kategorien alle eindeutigen Werte haben, die in t_aufgaben vorkommen.
Das hast Du vielleicht so gemacht:
insert into t_kategorien (a_kategorie) (select distinct a_ kategorie from t_aufgaben );
Das funktioniert so nur dann, wenn die ID von t_kategorien automatisch vergeben wird.
Wenn das erledigt ist und die neue foreign key Spalte in t_aufgaben schon da ist, kannst Du die passenden Werte dort eintragen:
update t_aufgaben
set a_kat_id = k.a_kat_id
from t_kategorien k
where t_aufgaben.a_kategorien = k.a_kategorie;
Dann definierst Du den Foreign Key:
alter table t_kategorien
add constraint fk_kategorie foreign key (a_kat_id )
references t_kategorien (a_kat_id );
Dieses Thema wurde automatisch 60 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.