![]() |
1
5
Oracle 9i+,使用行号:
Oracle 9i+,使用WITH和ROW_编号:
|
|
2
0
每当您看到“仅适用于301事件类型”的内容时,您应该希望在where子句或having子句中看到相同的限制(“having”基本上是“group by”结果的where子句)。 这么说吧,你可以从下面的几句话开始,然后背单词。 其中事件类型=301; 然后您可以填写一些基本信息,例如字段所在的表。 选择* 从事件 其中事件类型=301; 现在,您可以开始考虑根据PROJECT_ID将类似的事件分组在一起。为了使事情更简单,我们只使用PROJECT_FK,因为它相当于PROJECT.PROJECT_ID。 选择项目 从事件 其中事件类型=301 按项目分组; 现在,事件表中的所有项目都分组在一起,但我们没有任何信息。我们正在寻找单个事件的详细信息,以便在有多个事件时只选择单个事件ID。MIN()和MAX()都可以。所以你可以写: 选择项目'u FK,MIN(事件'u ID) 从事件 其中事件类型=301 按项目分组; 上面的查询为event表中的每个项目提供了一个事件,但没有提供其他事件详细信息。让我们把上面的结果集与事件表结合起来,我们就可以找到答案了。所以 选择表2* 从事件表1 加入 ( 选择项目'u FK,MIN(事件'u ID) 从事件 其中事件类型=301 按项目分组 )表2 表1.PROJECT_FK=表2.PROJECT_FK; 现在我们只需要加入项目表。每当您看到“事件字段中应该返回空值/空白值”时,您应该考虑外部连接。所以您可以继续链接表连接以获得所需的结果集。例如 选择* 从项目左外部联接 ( 选择表2* 从事件表1 加入 ( 选择项目'u FK,MIN(事件'u ID) 从事件 其中事件类型=301 按项目分组 )表2 表1.PROJECT_FK=表2.PROJECT_FK; ) 在PROJECT_ID=PROJECT_FK; |
![]() |
M S · 显示加入两个表的所有可用视频 2 年前 |
![]() |
neeh · 为每个父记录选择具有条件的子记录数[重复] 2 年前 |
![]() |
J. Krajewski · 如何计算具有给定成员的组的行数? 2 年前 |
![]() |
VickyBoy · 我试图用3个以上的表构建一个查询,其中数据分散在 3 年前 |
![]() |
newGuy101 · 如何将SQL子查询转换为Join子句? 3 年前 |
![]() |
user18797786 · Fuzzy Wuzzy和另一列的条件 3 年前 |
![]() |
Python learner Shaavin · 在解码过程中保留空间 3 年前 |
![]() |
Marvin · 在MySQL视图中左键连接 3 年前 |