当前位置: 首页 > 知识库问答 >
问题:

从内部联接中选择列

锺功
2023-03-14

我想从两个select查询的内部联接中选择两列。我编写了一个连接三个表的查询,从结果中我只希望得到两列。但是我的查询显示错误。我使用的是oracle sql Developer。

SELECT firstname,surname
FROM (
SELECT A.firstname,A.surname,I.ACNUM,I.FIELDNUM 
FROM ACADEMIC A INNER JOIN INTEREST I
ON (A.ACNUM = I.ACNUM)
INNER JOIN SUBJECT S ON (I.FIELDNUM = S.FIELDNUM) WHERE S.TITLE = 'History' ) ;

我只想要名字和姓氏,但我得到了这样的错误:

共有1个答案

夏长卿
2023-03-14

为什么要使用子选择?只需使用:

SELECT A.firstname, A.surname
FROM ACADEMIC A INNER JOIN
     INTEREST I
     ON A.ACNUM = I.ACNUM INNER JOIN
     SUBJECT S
     ON I.FIELDNUM = S.FIELDNUM
WHERE S.TITLE = 'History' ;
 类似资料:
  • 我得到了下面的SQL,我想将其转换为有效的HQL。这方面的问题是,不允许根据文档加入子查询。尽管这些是旧文档(v3.3),但在hibernate 5.3中,这一节似乎仍然适用。 我想出了这个HQL: 尝试执行此HQL查询会导致此异常 这将提示 在. 有没有办法加入HQL中的子查询?如果不是,那么获得与具有HQL的SQL相同的结果的最佳方法是什么? 我不擅长转换

  • 我需要发票,invoice_details表的所有列,但我想从我的付款表中只得到一列(列名:)。我对它有什么疑问?这是我的控制器。

  • 我想从short_name(国家名称)、name(州表)或region_name的任何可用数据中选择post_id。对region_name而不是short_name(国家名称),name(州表)执行以下查询,结果为真。 请告诉我,我哪里弄错了!

  • 问题内容: 这个问题已经在这里有了答案 : INNER JOIN ON vs WHERE子句 (12个答案) 7年前关闭。 我有两个选择连接SQL语句: 显然,它们的结果相同。但是它们之间没有任何区别,例如性能,可移植性。 问题答案: 一个区别是,第一个选项通过在where子句中表达联接条件来隐藏意图。 第二个选项,写出连接条件的条件对于阅读查询的用户来说更加清楚。它显示了查询的确切意图。 至于性

  • 我正在尝试从不同的表中选择2列(它们是连接的),但是我无法使用标准API使其工作。问题是,我已经创建了一个DTO类作为投影,但是我不能将连接的表实体转换为内部类。为了澄清问题,下面是我的课程: 用户: 角色: DTO类:

  • 问题内容: 假设我有3张桌子,每张桌子都与另一张桌子相关, 当我需要从每个表中获取一列时,如何组织(内部联接)会有所不同吗? 换句话说,我可以将(table2)放在(From)之后吗? 问题答案: 对于大多数查询,顺序无关紧要。 INNER JOIN既具有关联性又具有可交换性,因此表顺序无关紧要 SQL是声明性的。也就是说,定义查询的方式不是优化器的工作方式。它不会像您编写时那样逐行执行。 那就是