gpt4 book ai didi

sql - 选择按最后日期加入到具有重复日期记录的表的非重复记录

转载 作者:行者123 更新时间:2023-12-02 07:15:49 26 4
gpt4 key购买 nike

标题可能没有多大意义,所以我会尽量在主题中进行描述。

考虑 MSSQL2005 中的 2 个表:

案例表:

id int,
caseNo string

事件表:

id int,
caseID int,
eventDate date/time

我需要一个 View 的选择语句,它将返回单行行:cases.caseNo, events.eventDate (仅日期部分)

它们通过 events.caseID = cases.id 多对一关联/连接。每个案例记录有多个事件记录。我希望结果集是单个 caseNo,具有 events.eventDate 的最新/最新值。

提前致谢。

最佳答案

有 5 种方法可以做到这一点,这些在此处进行了描述:Including an Aggregated Column's Related Values

如果您需要的不仅仅是日期和案例 ID,基本上就是这样

select e.*,c.*
from(
select caseID,max(evendate) as MaxEventDate
from Events
group by caseID) x
join Cases c on c.Id = x.caseID
join Events e on e.eventDate = x.MaxEventDate
and e.caseID = x.caseID

否则只需按 id 分组并使用 max 作为日期

select  max(e.EventDate) as MaxEventDate,
c.CaseNo
from
Cases c
join Events e on
e.caseid = c.id
group by c.caseNo

关于sql - 选择按最后日期加入到具有重复日期记录的表的非重复记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1154459/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com