关于一个简单的INNER JOIN的快速问题,我似乎无法找到答案......
在我正在尝试构建的报告的一小部分中,我需要显示交叉引用表中的最新行。
以下是我所拥有的一小部分表格:
票务
状态的
TicketStatusXref
票证可以包含一个到多个TicketStatusXref。如何连接这些表以显示故障单表中的每个故障单ID和故障单名称,以及状态表中的最新状态名称(通过TicketStatusXref),而报告中没有重复的故障单?
答案 0 :(得分: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