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

具有多条记录的表上的内部联接

别兴国
2023-03-14

我有两张桌子如下

column1|column2
----------------
a1     | c1
----------------
a2     | c2
column1|column2|column3
----------------------
1      | a1    | x
-----------------------
2      | a1    | y
-----------------------
3      | a1    | z
-----------------------
4      | a2    | ab
-----------------------
5      | a2    | cd
-----------------------
6      | a2    | ef

表1是父表,表2是子表。

column1|column2|column3
----------------------
1      | a1    | x
-----------------------
2      | a2    | ab

如何在Oracle11g中创建连接来实现这一点。我使用sql navigator+

共有1个答案

令狐弘益
2023-03-14
select
  x.column1,
  x.column2,
  x.column3
from
    (select
      t2.column1,
      t2.column2,
      t2.column3,
      dense_rank() over (partition by t2.column1, t2.column2 order by t2.column3) as rank
    from
      table1 t1
      inner join table2 t2 on t2.column2 = t1.column1) x
where
  x.rank = 1

但是由于您没有使用t1中的任何字段,因此可以省略联接。它可以用于过滤(这也可以通过使用exists来完成,但是由于t1是父表,所以t2中的所有记录都应该有一个匹配的t1记录。

 类似资料:
  • 问题内容: 所以我有四个桌子。每个表都有一个与前一个表ID相同的ID。因此,我的点击表中有一个ID和一个广告来源的ID。在广告表中,它有一个广告ID和一个来自其广告系列的ID。所以这是一个例子。 因此,要找出表4中的值从何而来,我需要遍历每个表并检查它们具有哪个ID。基本上,我想知道表1中的哪些值与表4中的值相关联。 表4中的内容是网站的访问者,表1中的内容是互联网广告。我想知道哪些访客来自哪些广

  • 问题内容: 考虑以下两个关系: 连接表ATag没有相应的实体类。现在,我想获取所有名为Tag1的Tag的Foo实例,是否可以仅使用Criteria? 子查询可能会有所帮助,但是,我无法为不存在的类ATag.class创建DetachedCriteria。 问题答案: 只是处理这个确切的问题。您在表中而不是对象中思考。只是参考,让Hibernate负责其余的工作: 如果您看到SQL Hibernat

  • 问题内容: 我正在寻找连接2个表并仅显示明细表的最后一条记录的正确SQL代码。 我有一个带有2个表的数据库, 每个交易都有多个评论,但是我想创建一个显示所有交易的视图,并且仅显示每个交易的最后一条评论(由CommentTime确定)字段 问题答案: 编辑:我没有足够接近地阅读初始问题,也没有注意到视图中需要所有DEALS行。以下是我的修改后的答案:

  • 从SQL查询返回任何结果时遇到一些问题。我很确定这和WHERE条件有关。 我只想返回某些RULE\u ID。我通过表1中的RULE\u名称来标识RULE\u ID。然后,我将TABLE1和TABLE2连接起来,并说如果RULE\u ID的列日期等于20年3月5日,而COLUMN3列不为null,则返回RULE\u ID。 目前,我没有得到这个查询的任何结果,我也不完全清楚为什么。任何帮助都将不胜感

  • 问题内容: 我正在创建一个拍卖网站。人们可以在这里寻找物品并在其上下注。我希望在用户帐户区域中有一个列表,显示用户对其进行出价的所有项目。 当然,每个项目可以有多个来自不同用户的赌注,因此我只希望显示最高金额的项目。这样一来,用户就可以关注其出价所在的所有项目,并可以跟踪他是否仍然是出价最高的项目。 这是我的数据库的样子: 因此,如上所示,我有3个表(item,itembid和user)。如您所见

  • 问题内容: 我有一个table(),其中2个column(和)是id。这些对应名称的名称在带有列的另一个表()中。 假设我只是在使用,那么简单的内部联接就可以解决我在获取名称时遇到的问题。 如 但是,如果我希望该名称也要解析为什么?“内部连接”会将其解析为? 我知道以上查询是错误的。我可以得到那些对应于两个第和用? -初学者 问题答案: 我建议始终为表和列添加别名。因此,您将确定选择了哪些数据。