Sql Developer - используйте concat с функцией GROUP BY для COUNTING (ошибка ORA-00904) - PullRequest
0 голосов
/ 11 октября 2018

Я работаю над фиктивной базой данных для школьного проекта, и у меня есть две таблицы: ЗАКАЗЧИКИ И ЗАКАЗЫ Обе таблицы выглядят следующим образом

ЗАКАЗЧИКИ: custID, custLName, custFName, custAddress, custTown, custPostcode, custPhone,custEmail

И

ЗАКАЗЫ: orderID, orderDate, dispatchDate, custID (внешний ключ)

Я пытаюсь создать запрос, который возвращает полное имя и номер телефонаклиент, который сделал большинство заказов.Это мой запрос ниже, однако он возвращает ошибку функции GROUP BY, в которой говорится, что ORA-00904: «CUSTOMER»: неверный идентификатор

SELECT b.custFName || ' ' || b.custLName || ', ' || b.custPhone AS Customer, 
COUNT(DISTINCT o.custID) AS Orders_Placed
FROM CUSTOMERS b, ORDERS o 
GROUP BY Customer
HAVING COUNT(DISTINCT o.custID) AND b.custID = o.custID
ORDER BY o.custID DESC;

1 Ответ

0 голосов
/ 11 октября 2018

Помимо того, что сказали Гордон Линофф и Boneist, вы также не фильтруете свое предложение HAVING поверх всех других упомянутых ошибок.Поработайте над выполнением ваших объединений правильно, затем отфильтруйте / выберите запись с количеством MAX.

...