ORA-00937: нет функции для одной группы ___ - PullRequest
0 голосов
/ 04 апреля 2020

Я столкнулся с некоторыми трудностями при запуске этого кода, которые я не уверен, что с этим не так. Это информация об ошибке.

    SELECT LD.PROVIDER_NUM,
           LD.LOCALDOCTORFIRSTNAME,
           LD.LOCALDOCTORLASTNAME,
           LD.LOCALDOCTORPHONENUM,
           A.ADDRESS_STREET,
           A.POSTCODE, 
           PA.APPOINTMENTDATE,
           COUNT(PA.PROVIDER_NUM) AS PATIENTREFERRED
      FROM PATIENTAPPOINTMENT PA, LOCALDOCTORS LD, ADDRESS A 
     WHERE PA.PROVIDER_NUM = LD.PROVIDER_NUM
       AND LD.ADDRESS_ID = A.ADDRESS_ID
       AND PA.APPOINTMENTDATE >=ADD_MONTHS(SYSDATE,-6);

1 Ответ

0 голосов
/ 04 апреля 2020

Вы забыли использовать предложение GROUP BY в запросе, потому что вы используете другие столбцы с агрегатной функцией COUNT. Также всегда используйте правильные явные объединения -

SELECT LD.PROVIDER_NUM,
       LD.LOCALDOCTORFIRSTNAME,
       LD.LOCALDOCTORLASTNAME,
       LD.LOCALDOCTORPHONENUM,
       A.ADDRESS_STREET,
       A.POSTCODE, 
       PA.APPOINTMENTDATE,
       COUNT(PA.PROVIDER_NUM) AS PATIENTREFERRED
  FROM PATIENTAPPOINTMENT PA
  JOIN LOCALDOCTORS LD ON PA.PROVIDER_NUM = LD.PROVIDER_NUM
  JOIN ADDRESS A ON LD.ADDRESS_ID = A.ADDRESS_ID
 WHERE PA.APPOINTMENTDATE >=ADD_MONTHS(SYSDATE,-6)
 GROUP BY LD.PROVIDER_NUM,
          LD.LOCALDOCTORFIRSTNAME,
          LD.LOCALDOCTORLASTNAME,
          LD.LOCALDOCTORPHONENUM,
          A.ADDRESS_STREET,
          A.POSTCODE, 
          PA.APPOINTMENTDATE;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...