Update von zwei Tabellen | Problem

06/08/2008 - 00:39 von WolfgangD | Report spam
Hallo,
ich habe da ein Problem das wahrscheinlich ganz einfach zu lösen ist.
Aber nach mehreren Stunden komme ich leider nicht auf das richtige
Ergebniss :-(

Ich habe Tabelle a:

Computer | AlterWert
PC1 | Ms
PC2 | Ms
PC1 | Adb
PC4 | Adb
PC5 | Syma

und eine Tabelle b:

AlterWert | NeuerWert
Ms | Microsoft
Adb | Adobe
Crl | Corel

Nun möchte ich einfach das Tabelle a mit den neuen Werten gefüllt
wird.

Wenn ich das SQL Statement:

update a
set a.alterwert = b.neuerwert
where a.alterwer = b.neuerwert

eingebe kommt der Fehler:
the multipart identifier "a.alterwert" could not be bound.

Dann habe ich folgendes versucht:
update a
set a.alterwert select (b.neuerwert
from b
where a.alterwer = b.neuerwert)

Das geht teilweise , allerdings tràgt das Skript eine NULL bei den
Feldern ein die nicht in Tabelle b bekannt sind :


Tabelle a:

Computer | AlterWert
PC1 | Microsoft
PC2 | Microsoft
PC1 | Adobe
PC4 | Adobe
PC5 | NULL


Ich hàtte allerdings gerne das er dann den Wert mit dem alten Wert
beibehàlt.

Weiß da vielleicht jemand eine Lösung ?

Danke vielmals!

WOD
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
06/08/2008 - 01:00 | Warnen spam
Gallo Wolfgang,

"WolfgangD" schrieb:

update a
set a.alterwert = b.neuerwert
where a.alterwer = b.neuerwert



probier mal das hier:

UPDATE Tabelle1
SET Spalte = Tabelle2.Spalte
FROM Tabelle2
WHERE Tabelle1.ID = Tabelle2.ID

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen