Attribute einer Tabelle aktualisieren

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.