Einzelnen Beitrag anzeigen

Ykcim

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

AW: Tabellen vergleichen und Änderungen übernehmen

  Alt 22. Jan 2013, 15:09
Hallo jobo,

leider gibte es alle drei Befehle nicht in MySQL.

Ich hatte es selber mal versucht aufzubauen, aber ich ich kam schon mit dem Update-Part nicht zurecht...

Delphi-Quellcode:
Update AuftragTEMP set Rückmeldedatum=??? //Das ist ja für jeden Auftrag anders...
where (AuftragsNr, Arbeitsgang) in (
Select Auftrag, Arbeitsgang from Auftrag
where Rueckmeldedatum<>'0000-00-00 00:00:00')


Selbst wenn ich eine Möglichkeit hätte, alle vorhanden Rückmeldedatums (Rückmeldedaten kommt mir irgendwie nicht über die Finger), egal ob sie in AuftragTEMP schon vorhanden sind oder nicht, upzudaten, würde mir das helfen.

Hat jemand da eine Idee für mich?

Vielen Dank
Patrick

Ich habe zwischenzeitlich eine SQL-Anweisung gefunden, die vielversprechend aussieht, die ich aber nicht ans Laufen bekomme:

Delphi-Quellcode:
UPDATE
 Auftragtemp AS u
LEFT JOIN
 (SELECT AuftragsNr, Arbeitsgang, Rueckmeldedatum FROM Auftrag) AS o ON u.Primary = o.Primary
SET
 u.Rueckmeldedatum = o.Rueckmeldedatum

Ich habe noch nir mit einem Primary Key gearbeitet. Er setzt sich aus den Spalten Auftrag und Arbeitsgang zusammen.

Wenn ich das ganze ohne Primary versuche sieht das so aus:
Delphi-Quellcode:
UPDATE
 AuftragTEMP AS u
LEFT JOIN
 (SELECT AuftragsNr, Arbeitsgang, Rueckmeldedatum FROM Auftrag) AS o ON (u.AuftragsNr, u.Arbeitsgang) = (o.AuftragsNr, o.Arbeitsgang)
SET
 u.Rueckmeldedatum = o.Rueckmeldedatum
Hier bekomme ich die Fehlermedung: Data truncated for column 'Rueckmeldedatum' at row 1

Ist das etwas, was zur Lösung führen könnte?

Vielen Dank
Patrick
Patrick

Geändert von Ykcim (22. Jan 2013 um 15:41 Uhr)
  Mit Zitat antworten Zitat