当前位置: 首页 > 面试题库 >

oracle sql中通过表达式按组进行内部联接

卞琨
2023-03-14
问题内容

我是sql的新手,不胜感激。

我有两个表,employeesjobsemployees包含一个变量job_id(多个雇员可以具有相同的job_ID)。jobs包含变量job_idjob_title(一个job_ID对应一个job_title,如果您有兴趣,这是oracle中的hr模式)。

我希望查询返回:job_title,job_ID和具有相同job_Id的人数。

我尝试了以下代码:

select j.job_title, e.job_ID, count(e.job_ID)
from employees e, jobs j
where e.job_id=j.job_id
group by e.job_Id

错误消息是:

ORA-00979:不是GROUP BY表达式00979。00000-“不是GROUP BY表达式” 原因:

操作:
第83行的错误:列:8

你能帮我解决这个问题吗?


问题答案:

该错误消息有点误导。当您select有一堆字段和一个集合时,您必须对group by每个字段都select只有一个select。因此,您的查询必须是:

select j.job_title, e.job_ID, count(e.job_ID)
from employees e, jobs j
where e.job_id=j.job_id
group by e.job_Id, j.job_title


 类似资料:
  • 问题内容: 我试图在一个列上内部联接两个表。从数据库方面来看,没有映射,因为这是我不想讨论的。 我想使用INNER JOIN执行HQL查询并检索ROLE对象/结果。 到目前为止,这是我的总部 session.createQuery(“ ROLE作为角色,INNER JOIN INVOLVEMENT作为参与角色,id。X =参与.roleid WHERE参与.id = X”)。list(); 我看到

  • 问题内容: 在查询中引入ORDER BY子句会增加总时间,这是因为数据库需要对排序结果集进行额外的工作: 将结果元组复制到一些临时内存中 对它们进行排序(希望在内存中,否则使用磁盘) 将结果流式传输到客户端 我想念的是为什么仅从联接表中添加列会产生如此不同的性能。 查询1 查询计划 查询2 与上述相同,但不按 查询计划 编辑:添加了更多详细信息 Postgres版本是 8.4 问题答案: 在排序操

  • SQL Server 2000 使用20多个视图,所有视图都与table1(id和value1以及value2)进行内部连接 表1 或 表2 从表1中,value1或value2应始终为null。现在的问题是,如果value1或value2列为null,则输出显示为null,因为所有视图都是id为value1、value2的内部联接 我想使用条件进行内部联接,如果value1不为null,则使用v

  • 我有一个springboot项目,需要呈现脚本元素的一部分,如下所示。(假设函数是在其他地方定义的。) 预期产出: 其中是Spring模型属性。 是否可以使整个在一个Thymeleaf表达式中?或者,将和分配给单独的JavaScript变量,然后将它们连接起来是唯一的方法吗?我尝试了以下内容,但似乎内联的JavaScript表达式总是被引用。 实际产出: 顺便说一下,我使用的是Thymeleaf2

  • 问题内容: 是否可以通过内联CSS加载外部字体? 注意:我 不是 在谈论使用带有定义的外部CSS文件,而是类似以下内容: 问题答案: 是否可以使用内嵌CSS加载外部字体?不适用于外部CSS文件[....]。 是的,您可以按照Stephen Scaff的本文中的文章所示对base64字体进行编码,然后将其放到页面的块中,以避免外部请求。 也可以按照您所描述的浏览器是否支持的方式使用此技术。 每个现代

  • 问题内容: 我正在使用以下查询获取ORA-00979: 我找不到在同一查询中同时具有GROUP BY和ORDER BY子句的任何示例。我尝试一次从组中删除每个字段,但仍然遇到相同的错误。 问题答案: 你必须把的所有列的或使用的压缩结果为单一值(如对他们的功能,或)。 一个简单的示例来了解为什么会发生这种情况:假设您有一个这样的数据库: 然后你跑了。这意味着数据库必须返回第一行的结果作为第一行来满足