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

在子孩子中选择最新记录

柴彬
2023-03-14
问题内容

我有以下表格/列:

Parent:
  ParentID

Child:
  ChildID
  ParentID

SubChild:
  SubChildID
  ChildID
  Date

Parent 有一对多的关系 Child

Child 有一对多的关系 SubChild

对于每个Parent,我都需要获取SubChild最新的Date价值。如何使用SQL执行此操作。我已经尝试使用MAX(Date),但我似乎无法弄清楚如何参与ParentChild成功。

理想结果集将包含ParentSubChild最新记录的所有列结合的所有。

注意:使用 MS SQL 2005+


问题答案:

看看使用ROW_NUMBER

就像是

;WITH Vals AS (
        SELECT  p.ParentID,
                sc.SubChildID,
                ROW_NUMBER() OVER (PARTITION BY p.ParentID ORDER BY sc.[Date] DESC) RowID
        FROM    Parent p INNER JOIN
                Child c ON  p.ParentID = c.ParentID INNER JOIN
                SubChild sc ON  c.ChildID = sc.ChildID
)
SELECT  ParentID,
        SubChildID
FROM    Vals
WHERE   RowID = 1


 类似资料:
  • 我有一个标签,包含几个标签。 我只能为第一个标记设置CSS属性: 但是,我下面尝试为每个标记设置CSS属性,但第一个除外,但都不起作用: 我如何用CSS写:“每个元素,除了第一个”?

  • 问题内容: 我有这两个表: 学生: 班级: 我想给这个名字显示最后一个注册每个classId的学生的名字。这意味着,我应该为classId 1获得一个名称,为classId 2获得一个名称,以此类推。首先获取邮件(之后才知道学生的名字)的解决方案是: 它会打印最大日期,这是可以的,但同时也会为每个日期打印错误的邮件: 这是完全错误的()。因此,当我尝试加入用于获取名称的值时,会得到不正确的值。 换

  • 问题内容: 我在父容器中有两个子元素,如下所示: 我尝试了以下CSS: 我怎样才能让两个孩子()都达到最高的孩子的身高? 问题答案: 一种解决方案是将后代元素的显示值从更改为:

  • 问题内容: 我有以下标记: 我希望将样式设置为“一个”和“三个”。 但是,标记也可以是: 我尝试使用以下CSS: 但是,正如预期的那样,这是每个样式的第一个子元素的样式。 如何更改CSS,以便可以定位属于的第1个和第3个? 问题答案: 您不能仅凭CSS选择器来做到这一点。和兄弟组合器仅限于共享其父代的子代/兄弟姐妹,正如其名称所暗示的那样,并且CSS选择器无法解释父子结构的这种变化,也没有类似选择

  • 问题内容: 如何使用CSS3选择器选择除最后一个子项之外的所有子项? 例如,只得到最后一个孩子第N个子项(1) 是的。。 问题答案: 您可以使用否定伪类:not()对:last-child伪类。正在被引入CSS选择器3级,它不适用于IE8或更低版本:

  • 问题内容: 假设我有两个表,“父母”和“孩子”。父子关系是一个多对多关系,可通过标准的交叉引用表来实现。 我想查找使用SQL(特别是MS SQL Server的T-SQL; 2005语法可以接受)的给定子集的所有成员所引用的所有Parent记录。 例如,假设我有: List item Parent Alice Parent Bob Child Charlie references Alice, B