Probleme beim befüllen von Tabellen

BigBuisyB

Benutzer
Beiträge
9
Hallo zusammen!

Ich bin absoluter Anfänger in Sachen SQL und habe auch sonst keine Erfahrung mit ähnlichem.

Da ich aber im Unternehmen eine Auswertungsvariante für Kunden erstellen soll benötige ich an einer Stelle Hilfe.

Die Kunden sollen unter anderem danach gegliedert werden ob sie eine E-Mail Adresse angegeben haben oder nicht.

Diese Information möchte ich jetzt in die dafür angelegte Tabelle übernehmen. Allerdings liegen die benötigten Informationen auf einer anderen Datenbank.

Um die Tabellen zu verbinden habe ich folgenden Befehl genutzt:

select a.mandant_nr, a.gesellschaft_nr, b.emailadresse


from dwhbw.em_Kunde a left join dwhbw.em_kd_kontaktmedium b on a.id=b.kunde_id;

Die Tabellenspalte emailadresse habe ich erstellt und mit dem Datentyp varchar (30) versehen.

Wenn ich die Tabelle nun updaten möchte mit dem Befehl:

update TM_KAMP_HW15_KKM030216 a set (a.emailadresse)=(select emailadresse from dwhbw.em_kd_kontaktmedium b where a.id=b.kunde_id);

updatet er zwar wenige Sekunden, allerdings ist die Spalte in TM_KAMP_HW15_KKM030216 nicht befüllt.

Wie kann ich die Informationen aus der Tabelle km_kontaktmedium in tm_kamp übernehmen?

Danke schonmal für die Hilfe!
 
Werbung:
vereinfachtes Beispiel:

Code:
test=# select * from a;
 id | mail
----+------
  1 |
  2 |
  3 |
(3 rows)

test=*# select * from b;
 id |  mail   
----+-----------
  1 | adresse 1
  2 | adresse 2
  3 | adresse 3
(3 rows)

test=*# update a set mail = b.mail from b where a.id=b.id;
UPDATE 3
test=*# select * from a;
 id |  mail   
----+-----------
  1 | adresse 1
  2 | adresse 2
  3 | adresse 3
(3 rows)

Sollte so auch in Oraggle gehen. Allerdings erscheint mir das als sinnfreie Redundanz, was man vermeiden sollte. Du kannst ja für die Abfrage pas passend joinen, die Mail doppelt zu speichern ist ein Designfehler.
 
Zurück
Oben