【发布时间】:2021-06-04 19:54:29
【问题描述】:
我正在处理一个查询,但它返回了一些重复的值,我只需要返回一列中的日期与另一列中的日期最接近的行。
我的查询如下所示:
SELECT p.Id, r.ReferralDate, s.SupervisionDate
FROM person p
INNER JOIN referral r on r.PersonId = p.Id
INNER JOIN supervision s on s.PersonId = p.Id
返回如下内容:
| Id | Supervision Date | Referral Date |
|---|---|---|
| 123 | 2015-09-30 | 2015-08-30 |
| 123 | 2020-02-30 | 2015-08-30 |
| 123 | 2020-06-30 | 2015-08-30 |
| 456 | 2010-06-30 | 2010-07-30 |
| 456 | 2005-06-30 | 2010-07-30 |
如何编写一个查询来返回最接近推荐日期的监督日期?这样最终的输出看起来像这样:
| Id | Supervision Date | Referral Date |
|---|---|---|
| 123 | 2015-09-30 | 2015-08-30 |
| 456 | 2010-06-30 | 2010-07-30 |
【问题讨论】:
标签: sql sql-server tsql