Oracle SQL相关子查询:不是单组功能

问题描述:

我正试图计算出去医生的旅行,并总结了多少费用。我正在使用ORACLE XE 11g和SQL Developer。我想这样做与在选择相关子查询,但我得到这个消息:Oracle SQL相关子查询:不是单组功能

ORA-00937: not a single-group group function 
00937. 00000 - "not a single-group group function" 
*Cause:  
*Action: 
Error at Line: 2 Column: 11 

这是我的查询谈到:

SELECT person.name, person.surname, COUNT(DISTINCT travelID) AS numberoftravels, 
    (SELECT SUM(costs.cost) FROM costs 
    JOIN travel ON costs.travelID = travel.travelID 
    JOIN person ON travel.personID = person.personID 
    JOIN staff ON travel.personID = staff.staffID 
    WHERE stafftype = 'Doctor' AND costtype = 'tolls' and staff1.staffID = person.personID 
) AS tollscost 

FROM travel JOIN person ON person.personID = travel.personID 
    JOIN staff staff1 ON staff1.staffID = person.personID 

WHERE stafftype = 'Doctor' 
GROUP BY person.name, person.surname; 

计数工作就好了之前我说子查询。有谁知道我为什么会遇到这个问题?

+0

只是将子查询作为连接表达式移动。它也更合适 – Sebas

您错过了GROUP BY列 - personID

+0

非常感谢。回想起来,这是一个noob问题,不知道我不得不用其他任何东西来排序,除了聚合之外的SELECT属性 – pesoodeen