2016-11-22 4 views
0

Ich versuche die folgende MySQL-Abfrage zu "überschreiben"/leere/falsche Einträge in meiner Tabelle zu ersetzen, aber es funktioniert nicht. Ich erhalte einen Fehler:"Überschreiben"/leere/falsche Einträge in Tabelle ersetzen MYSQL

Kann jemand direkt sehen, was falsch ist?

UPDATE Bestellung_Bestelldetails AS T1 
INNER JOIN 
(SELECT Bestellnummer, 
Artikelnummer, 
Produktkategorie, 
`Hersteller/Marke`, 
MAX(Produktbezeichnung), 
MAX(`Verkaufspreis des Artikels`), 
MAX(`Rabatt auf dem Artikel`), 
MAX(`Einkaufspreis des Artikels`), 
`Bestellte Menge des Artikels`, 
`Bezahlte Menge des Artikels`, 
MAX(`Versandte Menge des Artikels`), 
MAX(`Zurückgesandte Menge des Artikels`), 
`Verkaufsstatus des Artikels`, 
`Shop` 
FROM Bestellung_Bestelldetails GROUP BY Bestellnummer) AS T2 
ON T1.Bestellnummer=T2.Bestellnummer 
SET T1.Produktbezeichnung=T2.Produktbezeichnung, 
T1.`Verkaufspreis des Artikels`=T2.`Verkaufspreis des Artikels`, 
T1.`Rabatt auf dem Artikel`=T2.`Rabatt auf dem Artikel`, 
T1.`Einkaufspreis des Artikels`=T2.`Einkaufspreis des Artikels`, 
T1.`Einkaufspreis des Artikels`=T2.`Einkaufspreis des Artikels`, 
T1.`Versandte Menge des Artikels`=T2.`Versandte Menge des Artikels`, 
T1.`Zurückgesandte Menge des Artikels`=T2.`Zurückgesandte Menge des Artikels` 
WHERE T1.`Verkaufspreis des Artikels` IS NULL; 

Vielen Dank für Ihre Unterstützung!

+1

bieten Sie ein Feld 'Produktbezeichnung' in der Unterabfrage für T2 nicht sehen. Der 'MAX' wird diesen Feldnamen nicht haben. Verwenden Sie einen Alias ​​ – Alfabravo

+0

Das war der Fehler! Danke vielmals! – AbsoluteBeginner

Antwort

0

Sie sollten den richtigen Alias ​​für die max Spalte

UPDATE Bestellung_Bestelldetails AS T1 
    INNER JOIN 
    (SELECT Bestellnummer, 
    Artikelnummer, 
    Produktkategorie, 
    `Hersteller/Marke`, 
    MAX(Produktbezeichnung) AS Produktbezeichnung , 
    MAX(`Verkaufspreis des Artikels`) AS `Verkaufspreis des Artikels`, 
    MAX(`Rabatt auf dem Artikel`) AS `Rabatt auf dem Artikel`, 
    MAX(`Einkaufspreis des Artikels`) AS `Einkaufspreis des Artikels` , 
    `Bestellte Menge des Artikels`, 
    `Bezahlte Menge des Artikels`, 
    MAX(`Versandte Menge des Artikels`) AS `Versandte Menge des Artikels`, 
    MAX(`Zurückgesandte Menge des Artikels`) AS `Zurückgesandte Menge des Artikels`, 
    `Verkaufsstatus des Artikels`, 
    `Shop` 
    FROM Bestellung_Bestelldetails GROUP BY Bestellnummer) AS T2 
    ON T1.Bestellnummer=T2.Bestellnummer 
    SET T1.Produktbezeichnung=T2.Produktbezeichnung, 
    T1.`Verkaufspreis des Artikels`=T2.`Verkaufspreis des Artikels`, 
    T1.`Rabatt auf dem Artikel`=T2.`Rabatt auf dem Artikel`, 
    T1.`Einkaufspreis des Artikels`=T2.`Einkaufspreis des Artikels`, 
    T1.`Einkaufspreis des Artikels`=T2.`Einkaufspreis des Artikels`, 
    T1.`Versandte Menge des Artikels`=T2.`Versandte Menge des Artikels`, 
    T1.`Zurückgesandte Menge des Artikels`=T2.`Zurückgesandte Menge des Artikels` 
    WHERE T1.`Verkaufspreis des Artikels` IS NULL;