“覆盖”/替换表MYSQL中的空/错项

时间:2016-11-22 17:08:31

标签: mysql

我尝试以下MySQL查询来“覆盖”/替换表中的空/错项,但它不起作用。我收到一个错误:

  

错误代码:1054。“字段列表”中的未知列'T2.Produktbezeichnung'

有人可以直接看错吗?

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;

感谢您的支持!

1 个答案:

答案 0 :(得分:0)

您应该为最大列

提供正确的别名
  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;