Syntaxfehler (fehlender Operator)

Markus2018

Benutzer
Beiträge
7
Hallo,

ich hab ein Syntaxproblem weiß aber nicht wo der Fehler liegt...

Die Abfrage in Access SQL lautet wie folgt:

UPDATE
Kundennummer_Lat_Lng_Status
SET
Kundennummer_Lat_Lng_Status.Status = Kundennummer_ohne_Lat_Lng_Status.Status
Kundennummer_Lat_Lng_Status.Lat = Kundennummer_ohne_Lat_Lng_Status.Lat
Kundennummer_Lat_Lng_Status.Lng = Kundennummer_ohne_Lat_Lng_Status.Lng
FROM
Kundennummer_Lat_Lng_Status
INNER JOIN Kundennummer_ohne_Lat_Lng_Status
ON Kundennummer_Lat_Lng_Status.Kundennummer = Kundennummer_ohne_Lat_Lng_Status.Kundennummer

Ich habe 2 Tabellen:

Tabelle1:
- Kundennummer_Lat_Lng_Status
Spalten: Kundennummer, Lat, Lng, Status

Tabelel2:
- Kundennummer_ohne_Lat_Lng_Status
Spalten: Kundennummer, Lat, Lng, Status, Adresse, Stadt, Plz

Ich möchte nun die Werte aus Tabelle1 (Lat,Lng,Status) in die Tabelle2 (Lat,Lng,Status) einfügen. Die Bedingung ist dass die Kundennummer in beiden Tabellen gleich ist.
 
Werbung:
Das UPDATE <table> impliziert schon, daß es um diese geht, keine Notwendigkeit, diese dann noch mal im FROM zu nennen.

Code:
test=*# create table foo(i int, val int);
CREATE TABLE
test=*# create table bar(i int, val int);
CREATE TABLE
test=*# update foo set val = bar.val from bar where foo.i=bar.i;
UPDATE 0

PostgreSQL, sollte / könnte so auch woanders gehen.
 
Access fügt aber trotzdem immer z.B. bei den Spaltennamen den Tabellennamen davor ein. Das kann nicht der Fehler sein.

Ich verstehe nicht was du mit deinem Code meinst?
 
Code:
Command:     UPDATE
Description: update rows of a table
Syntax:
[ WITH [ RECURSIVE ] with_query [, ...] ]
UPDATE [ ONLY ] table_name [ * ] [ [ AS ] alias ]
    SET { column_name = { expression | DEFAULT } |
          ( column_name [, ...] ) = [ ROW ] ( { expression | DEFAULT } [, ...] ) |
          ( column_name [, ...] ) = ( sub-SELECT )
        } [, ...]
    [ FROM from_list ]
    [ WHERE condition | WHERE CURRENT OF cursor_name ]
    [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]
 
Code:
UPDATE Kundennummer_Lat_Lng_Status
SET Status = Kundennummer_ohne_Lat_Lng_Status.Status,
Lat = Kundennummer_ohne_Lat_Lng_Status.Lat,
Lng = Kundennummer_ohne_Lat_Lng_Status.Lng
WHERE Kundennummer = Kundennummer_ohne_Lat_Lng_Status.Kundennummer

So würde der Code laut deiner Syntax aussehen - aber wenn ich ihn ausführe dann kommt die Meldung "Parameterwert eingeben für Kundennummer_ohne_Lat_Lng_Status.Status".

Was mache ich den falsch?
 
Werbung:
Zurück
Oben