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