以下查询将导致上错误。



SELECT Farbe,SUM(Anzahl)
FROM bueroklammern
GROUP BY Farbe
HAVING SUM(Anzahl)>

(
 SELECT Farbe,SUM(Anzahl)
 FROM bueroklammern
 WHERE Farbe='gelb'
);





怎么了
我知道了:



SELECT CONCAT('Anzahl aller gelben Büroklammern'), SUM(Anzahl) AS Value
FROM bueroklammern
WHERE Farbe='gelb';

SELECT Farbe,SUM(Anzahl) AS anzahl_is_bigger_as_yellow
FROM bueroklammern
GROUP BY Farbe
HAVING SUM(Anzahl)>
(
SELECT SUM(Anzahl) AS anzahl_gelb
FROM bueroklammern
WHERE Farbe='gelb'
);

SELECT Farbe,SUM(Anzahl) AS anzahl_is_smaller_as_yellow
FROM bueroklammern
GROUP BY Farbe
HAVING SUM(Anzahl)<
(
SELECT SUM(Anzahl) AS anzahl_gelb
FROM bueroklammern
WHERE Farbe='gelb'
);





xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

最佳答案

在具有SQL子句的查询中,您正在评估select语句中具有2列的一列之和。用这个:

 SELECT Farbe, SUM (Anzahl)
    FROM bueroklammern
GROUP BY Farbe  HAVING SUM (Anzahl) > (SELECT  SUM (Anzahl)
                           FROM bueroklammern
                          WHERE Farbe = 'gelb');

关于mysql - SQL错误:操作数填满1(Spalten)焓/应该包含一列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46811047/

10-13 08:47