Benutzer mit den meisten Antworten
update SQL: Der mehrteilige Bezeichner konnte nicht gebunden werden

Frage
-
Hallo zusammen,
ich habe versucht ein Update über ein innerJoin zu erstellen, erhalte aber die oben genannte Fehlermeldung. Was ist am SQL-Statement falsch?
update [Test-100-VERTRIEB]
set V.Gesamtpreis = V.Gesamtpreis * W.Briefkurs
from [Test-100-VERTRIEB] AS V inner join Wechselkurse AS W
on W.date = V.Belegdatum and V.Waehrung = W.WaehrungZiel ist den Gesamtpreis umzurechnen wenn in der Währungskenner und das Belegdatum in den Vertriebslegen übereinstimmt. Der Eintrag 0 exisitiert in der Wechselkurstabelle nicht und soll nicht umgerechnet werden. Vielen Dank.
Gruß Chris
Antworten
-
Hallo,
beim Verwenden eines Alias in einem UPDATE gilt entweder oder:
-- Auf Alias für UPDATE Ziel verzichten update [Test-100-VERTRIEB] set Gesamtpreis = V.Gesamtpreis * W.Briefkurs from [Test-100-VERTRIEB] inner join Wechselkurse AS W on W.date = [Test-100-VERTRIEB].Belegdatum and [Test-100-VERTRIEB].Waehrung = W.Waehrung
oder
-- Alias durchgängig verwenden, auch bei UPDATE update V set V.Gesamtpreis = V.Gesamtpreis * W.Briefkurs from [Test-100-VERTRIEB] AS V inner join Wechselkurse AS W on W.date = V.Belegdatum and V.Waehrung = W.Waehrung
Wobei ich auf Aliase bei dem UPDATE selbst i. a. verzichte, da dabei die Zieltabelle schwieriger findet, wenn das ganze SQL länger ist, wie meistens ;)
Gruß Elmar
- Bearbeitet Elmar BoyeEditor Dienstag, 3. Mai 2016 13:48
- Als Antwort markiert Controller123 Dienstag, 3. Mai 2016 15:05
Alle Antworten
-
Hallo,
beim Verwenden eines Alias in einem UPDATE gilt entweder oder:
-- Auf Alias für UPDATE Ziel verzichten update [Test-100-VERTRIEB] set Gesamtpreis = V.Gesamtpreis * W.Briefkurs from [Test-100-VERTRIEB] inner join Wechselkurse AS W on W.date = [Test-100-VERTRIEB].Belegdatum and [Test-100-VERTRIEB].Waehrung = W.Waehrung
oder
-- Alias durchgängig verwenden, auch bei UPDATE update V set V.Gesamtpreis = V.Gesamtpreis * W.Briefkurs from [Test-100-VERTRIEB] AS V inner join Wechselkurse AS W on W.date = V.Belegdatum and V.Waehrung = W.Waehrung
Wobei ich auf Aliase bei dem UPDATE selbst i. a. verzichte, da dabei die Zieltabelle schwieriger findet, wenn das ganze SQL länger ist, wie meistens ;)
Gruß Elmar
- Bearbeitet Elmar BoyeEditor Dienstag, 3. Mai 2016 13:48
- Als Antwort markiert Controller123 Dienstag, 3. Mai 2016 15:05