Thema: Delphi SQL: JOIN und UPDATE

Einzelnen Beitrag anzeigen

ts-d

Registriert seit: 29. Apr 2008
31 Beiträge
 
#1

SQL: JOIN und UPDATE

  Alt 31. Mär 2009, 10:56
Datenbank: Paradox • Version: 1 • Zugriff über: DB-Explorer oder Delphi7-Programmierung
Hallo,

in Access habe ich eine Aktualisierungsabfrage zusammengebastelt - in Delphi bzw. im SQL-Fenster des SQL-Explorers (Delphi 7) klappt das nicht:

UPDATE [Auftragpos Paradox] INNER JOIN [Z2_Rabatte pro Hauptposition] ON ([Auftragpos Paradox].pos_h = [Z2_Rabatte pro Hauptposition].pos_h) AND ([Auftragpos Paradox].Auftrnum = [Z2_Rabatte pro Hauptposition].Auftrnum) SET [Auftragpos Paradox].RABATTSATZ = [Z2_Rabatte pro Hauptposition].[RABATTSATZ];

Erklärung:
1. Tabelle heißt Auftragpos und hat mehr Datensätze als die 2. Tabelle Rabatte

Beide Tabellen haben das Feld "RABATTSATZ"

Nun sollen die Werte von Tabelle Rabatte in das identische Feld der Tabelle Auftragpos kopiert werden.

Bedingung: Auftragsnummer (Auftrnum) und Hauptposition (pos_h) sind identisch.



Ein Artikel ist unter "SQL: Update aus zweiter Liste" vorhanden.
Aber der löst das Problem nicht. Nach dem Lösungsvorschlag hieße meine Syntax:
UPDATE 'Auftragpos.db' as a LEFT OUTER JOIN 'Rabatte.db' as o ON a.pos_h = o.pos_h AND a.Auftrnum = o.Auftrnum SET a.RABATTSATZ = o.RABATTSATZ

Fehlermeldung des SQL-Explorers: Invalid use of keyword, Token: LEFT !?



Vielleicht kennt ja jemand noch einen einfacheren Weg, z. B. mit Batch-Move oder Masterfield.
Jedenfalls müssen die Werte am Schluss in der Tabelle Auftragpos verfügbar sein.


vg
Thomas
  Mit Zitat antworten Zitat