Einzelnen Beitrag anzeigen

Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
824 Beiträge
 
Delphi 10.4 Sydney
 
#1

Update mit Werten aus der gleichen Tabelle und anderen Tabellen

  Alt 29. Jul 2019, 17:47
Datenbank: MySQL • Version: 5 • Zugriff über: UniDac
Hallo Zusammen,

ich möchte ein Update machen, bei dem ich die Daten einer Tabelle und die anderer Tabellen zusammenführe.

In der Tabelle AS400 möchte ich das Feld OAAGBZ bei den Datensätzen, wo das Feld OAMANR like 'SU%' erfüllt ist mit folgendem Inhalt füllen:
Delphi-Quellcode:
select concat(a.oaagbz,' HN.',Right(p.stkomp,3),' ', t.azabme) from as400 a
left join phstru p on p.stbgnr=a.watenr and p.tamagr=3500
left join teilestamm t on t.aztenr=p.stkomp
where a.oamanr like 'SU%'
and t.temagr=3500
and p.tamagr=3500
group by a.watenr
Dazu habe ich versucht ein Update-Statement zu schreiben, aber das bekomme ich nicht ans Laufen:
Delphi-Quellcode:
update as400 as b
left join (select concat(a.oaagbz,' HN.',Right(p.stkomp,3),' ', t.azabme) as Bezeichnung from as400 a
    left join phstru p on p.stbgnr=a.watenr and p.tamagr=3500
    left join teilestamm t on t.aztenr=p.stkomp
    where a.oamanr like 'SU%'
    and t.temagr=3500
    and p.tamagr=3500
    group by a.watenr) as t
set b.oaagbz=t.Bezeichnung
where b.waaunr=t.waaunr and b.waaupo=t.waaupo and b.oaagnr=t.oaagnr
Fehlermeldung lautet:
Delphi-Quellcode:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'set b.oaagbz=t.Bezeichnung
where b.waaunr=t.waaunr and b.waaupo=t.waaupo and b.
' at line 9
Aber ich habe den Eindruck, dass ich einen grundsätzlichen Denkfehler habe...

Kann mir jemand helfen?

Vielen Dank
Patrick
Patrick
  Mit Zitat antworten Zitat