Update Infos aus einer Tabelle holen

ati_post

Grünschnabel
Hallo Leute,

ich habe folgendes Problem ich habe 2 Tabellen und möchte von der einen Tabelle Attribute in die andere Tabelle einfügen.

z.B:

Ich habe diese Tabelle A:
Name;Vorname;email
Hans;Meier;123qwerwer.de
Peter;Müllerl;123@sdf.de
Astrid;Eugen;123@dfg.de

und diese Tabelle B:
Name;Vorname;email
Ati;Post;123qwerwer.de
Corc;Borc;123@sdf.de
Alp;Brat;123@dfg.de

Ich möchte jetzt auf der Basis der eMail-Adressen, die Namen aktualisieren, also:
AKTUALISIERE Name und Vorname in Tabelle A
und benutze dafür die Daten von Tabelle B

Wie mache ich das?

Ich wollte das über MS Acess machen über die SQL-Sprache!


Vielen Dank!
 
also ich kann dir mal einen ansatz geben. du brauchst dazu ja ein update statement und für jede tabelle ein eindeutiges attribut bzw. dessen attributwert.
dann verwendest du ein updatestatement:

update <tablename>

set vorname= (select distinct vorname from <tablename2> where <tablename2>.id= <momentane_id>),

nachname= (select distinct vorname from <tablename2> where <tablename2>.id= <momentane_id>)

where <tablename>.id = <momentane_id>

<momentane_id> ist die welche in der ersten tabelle (<tablename>) vorhanden ist, du kannst die erste tabelle zum beispiel mit php in einer schlaufe durchgehen. es wäre auch möglich alles in sql zu machen, mit einer schlaufe in sql ;) ...
"select distinct" macht dass nur ein wert ausgelesen wird, alternativ könntest du auch:

(select vorname from <tablename2> where <tablename2>.id= <momentane_id> limit 0,1

dazu verwenden.

vielleicht konnt ich dir ja weiterhelfen ;)

EDIT:
wie ich grade sehe verwendest du die email als eindeutiges feld, empfehlenswert wäre allerdings eine ID als integer mit autoincrement in jeder tabelle zu verwenden
 

Neue Beiträge

Zurück