1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Probleme beim befüllen von Tabellen

Dieses Thema im Forum "Oracle" wurde erstellt von BigBuisyB, 25 Mai 2016.

  1. BigBuisyB

    BigBuisyB Benutzer

    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!
     
  2. akretschmer

    akretschmer Datenbank-Guru

    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.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden