2016-07-13 12 views
0
UPDATE AMAZON 
SET AMARBELEG = (
        Select Rechnungen.Rechnungsnummer 
        from Rechnungen,Amazon 
        where Rechnungen.Belegtext = Amazon.orderid 
       ); 

Hallo Ich versuche, dieMySql eine Spalte aktualisieren basierend auf Join-Tabelle - Fehler 1093

Fehlercode 1093.

ich mehrere Abhilfen versucht haben, zu verhindern, scheinen aber nicht zu verstehe die Idee des Tmptable durchaus. Könnte jemand mit meinen Tabellen erklären, wie ich den Fehler verhindern kann?

+0

Mögliches Duplikat [MySQL Fehler 1093 - Zieltabelle in der FROM-Klausel für die Aktualisierung kann nicht angeben] (http://stackoverflow.com/questions/45494/mysql-error-1093-cant-specify-target -table-for-update-in-from-Klausel) – jpw

Antwort

0

Die korrekte Syntax ist:

UPDATE AMAZON A 
JOIN Rechnungen R ON R.Belegtext = A.orderid 
SET A.AMARBELEG = R.Rechnungsnummer; 
+0

Danke das hat wie ein Leckerbissen funktioniert, ich konnte den Baum im Wald nicht mehr sehen. – Locust

+0

@Locust Da die Lösung in dieser Antwort dieselbe wie in der Frage ist, die ich als doppelt gekennzeichnet habe, sollten Sie das Duplikat akzeptieren. – jpw

0

Die korrekte Syntax ist:

UPDATE AMAZON 
    SET AMARBELEG = (SELECT Rechnungen.Rechnungsnummer 
         FROM Rechnungen 
        WHERE Rechnungen.Belegtext = Amazon.orderid); 
0

diese mysql 1093 Fehler zu verhindern versuchen.

UPDATE AMAZON 
SET AMARBELEG = (SELECT r2.rechnr FROM 
           (Select Rechnungen.Rechnungsnummer 
            from Rechnungen,Amazon 
           where Rechnungen.Belegtext = Amazon.orderid 
           ) r2 
       ); 
Verwandte Themen