我需要一些有关 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