【问题标题】:SQL Inner Join Most Recent Row Of Xref TableSQL 内连接外部参照表的最近行
【发布时间】:2014-03-05 00:59:00
【问题描述】:

关于我似乎无法找到答案的简单 INNER JOIN 的快速问题...

在我尝试构建的报告的一小部分中,我需要显示交叉引用表中的最新行。

这是我拥有的一小部分表格:

门票

  • ID 整数
  • 名称 varchar(25)

状态

  • ID 整数
  • 名称 varchar(25)

TicketStatusXref

  • ID 整数
  • TicketID int
  • StatusID 整数
  • CreatedDate 日期时间

一张工单可以有一对多的 TicketStatusXrefs。如何连接这些表以显示 Ticket 表中的每个 Ticket ID 和 Ticket Name,以及 Status 表中的最新 Status Name(通过 TicketStatusXref)而不在报告中出现重复的 Ticket?

【问题讨论】:

    标签: sql sql-server reporting-services


    【解决方案1】:

    假设 SQL Server:

    select t.ID, t.Name, s.Name    
    from Ticket t
    join (
        select TicketID, StatusID, row_number() over 
               (partition by TicketID order by CreatedDate desc) rn
        from TicketStatusXref
    ) x on x.TicketID=t.TicketID and rn=1
    join Status s on x.StatusID=s.StatusID 
    

    【讨论】:

    • 感谢您的快速回复。像魅力一样工作!
    猜你喜欢
    • 2021-05-16
    • 1970-01-01
    • 1970-01-01
    • 2015-07-01
    • 2017-11-27
    • 2016-07-09
    • 1970-01-01
    • 2020-05-07
    • 1970-01-01
    相关资源
    最近更新 更多