Почему клиент командной строки MySQL отвергает мое заявление, когда Workbench в порядке с ним?

У меня есть список SQL-запросов, которые мне нужны выходные данные журнала, поэтому я использую клиент командной строки MySQL. Все они выдают правильные выходные данные, за исключением следующего запроса, который выдает синтаксическую ошибку. Цель запроса состоит в том, чтобы получить CustID клиента, который заказал наибольшее общее количество продуктов. Я использую вложенные запросы, но, возможно, это неправильно:

SELECT CUSTNUM FROM(
  SELECT CUSTNUM, MAX(TOTALQTY) FROM(
    SELECT CUSTNUM, SUM(QTY) AS TOTALQTY
    FROM ORDERS GROUP BY CUSTNUM ORDER BY TOTALQTY DESC
    ) ORDERS
  ) ORDERS;

…Я получаю эту ошибку:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to use 
near 'ORDERS GROUP BY CUSTNUM ORDER BY TOTALQTY DESC) ORDERS    ) ORDERS' at 
line 1

Я не понимаю, почему этот запрос хорошо работает в Workbench, но не в командной строке.

1 ответ

  1. Хорошо, кажется, когда я копировал и вставлял операторы из Workbench, он терял некоторые пробелы между ключевыми словами в процессе. Вставленный запрос появился в командной строке следующим образом:

    SELECT CUSTNUM FROM(SELECT CUSTNUM, MAX(TOTALQTY) FROM(SELECT CUSTNUM, 
    SUM(QTY) AS TOTALQTYFROM ORDERS GROUP BY CUSTNUM ORDER BY TOTALQTY DESC) 
    ORDERS    ) ORDERS    ;
    

    Примечание «TOTALQTYFROM», ошибка.

    Урок усвоен…не копируйте бездумно и не вставляйте, или хотя бы проверьте, что я вставил!

    Я оставляю этот пост в случае, если у кого-то еще есть подобная проблема.