Oracle SQL:选择,计算和连接3个表

时间:2013-11-30 05:00:18

标签: sql oracle aggregate-functions ora-00979

我需要一些关于Oracle SQL的帮助,感谢能够建议我运行正确查询的任何人。

我有3张表如下:

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

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

我需要创建一个“视图”,列出所有私人诊所医生(包括地址,电话号码和提供者),他们在过去6个月内将患者转介到医院,并转介患者人数(例如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

0 个答案:

没有答案