0

我正試圖計算出去醫生的旅行,並總結了多少費用。我正在使用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

回答

0

您錯過了GROUP BY列 - personID

+0

非常感謝。回想起來,這是一個noob問題,不知道我不得不用其他任何東西來排序,除了聚合之外的SELECT屬性 – pesoodeen