0

我需要一些有关 Oracle SQL 的帮助,感谢任何可以就正确查询向我提供建议的人。

我有3个表如下:

Patient (**PatientNo**, DocName, ProviderNo, DateRegistered)
PrivateDoctor (**ProviderNo**, **DocName**)
PrivateClinic (**ProviderNo**, Address, TelNo)

患者:DocName 和 ProviderNo 是 PrivateDoctor 的外键
PrivateDoctor:ProviderNo 是 PrivateClinic 的外键

我需要创建一个“视图”来列出过去 6 个月内将患者转诊到医院的所有私人诊所医生(包括地址、电话号码和 ProviderNo)以及转诊的患者人数(例如 DateRegistered)。

以下是我尝试运行的内容。

SELECT Patient.DocName
      , Patient.ProviderNo
      , PrivateClinic.Address
      , PrivateClinic.TelNo
      , Patient.DateRegistered
      , count (Patient.PatientNo)
FROM Patient 
     JOIN PrivateDoctor ON Patient.ProviderNo = PrivateDoctor.ProviderNo
     JOIN PrivateClinic ON PrivateDoctor.ProviderNo = PrivateClinic.ProviderNo
WHERE Patient.DateRegistered >= ADD_MONTHS(TRUNC(SYSDATE, 'MONTH'), -5)
AND Patient.DateRegistered < ADD_MONTHS(TRUNC(SYSDATE, 'MONTH'), 1)
Group By Patient.DocName;

下面是错误信息。

ORA-00979: not a GROUP BY expression
00979. 000 00 - "not a GROUP BY expression"
*Cause:
*Action:
Error at Line: 1 Column: 39
4

0 回答 0