0
這裏是我的SQL(Oracle)的代碼:SQL JOIN語句+ COUNT不起作用
SELECT a.Task_id, a.Activity_desc AS "ACTIVITY DESCRIPTION" ,
a.Activity_date || ' (' || a.Activity_day || ')' AS "ACTIVITY DATE",
pr.Project_name, COUNT(a.Volunteer_id)
FROM task_activity a
JOIN task t
ON a.Task_id = t.Task_id
JOIN project pr
ON t.Project_id = pr.Project_id
GROUP BY a.Task_id
ORDER BY Task_id
錯誤:
ORA-00979:不是GROUP BY表達式
沒有組statemen表看起來像這樣:
我想算標記O ˚F志願者爲每個任務和group by TASK_ID,但嘗試了幾個小時之後,我放棄了)
爲什麼選擇'pr.Project_name'? –
該組中定義任何不想在SELECT語句必須是在一個獨特的條款,或聚合函數。既然你是由task_ID分組的,你如何分配其他列? –
你想通過task_id或者task_id和日期來統計志願者嗎?如果只通過task_id,那麼無法以任何有意義的方式在結果中包含與「日期」有關的任何內容。 (你要顯示的第一個和該TASK_ID的最後日期可以做什麼?)。除此之外:假設每TASK_ID只屬於一個activity_desc只有一個PROJECT_NAME(否則你又正在做什麼不意義), - 所以,如果每TASK_ID只屬於一個activity_desc和PROJECT_NAME,加activity_desc和PROJECT_NAME到GROUP BY子句。 – mathguy