【发布时间】:2021-04-01 14:59:55
【问题描述】:
我当前的 SQL 代码:
SELECT
[Date], [Count]
FROM
Calendar_Table pdv
LEFT JOIN
(SELECT
COUNT([FILE NAME]) AS [Count], [CLOSE DT]
FROM
Production_Table
GROUP BY
[CLOSE DT]) [Group] ON [pdv].[Date] = [Group].[CLOSE DT]
ORDER BY
[Date]
请看下面的代码。 Calendar_Table 是一个简单的表格,每个日期一行。 Production_Table 提供每天销售的产品。如果左连接产生NULL,请产生最近的非NULL 值。
当前输出:
Date | Count
-----------+--------
9/4/2019 | NULL
9/5/2019 | 1
9/6/2019 | 4
9/7/2019 | NULL
9/8/2019 | 7
9/9/2019 | 11
9/10/2019 | NULL
9/11/2019 | 14
9/12/2019 | NULL
9/13/2019 | 19
期望的输出:
Date | Count
-----------+--------
9/4/2019 | 0
9/5/2019 | 1
9/6/2019 | 4
9/7/2019 | 4
9/8/2019 | 7
9/9/2019 | 11
9/10/2019 | 11
9/11/2019 | 14
9/12/2019 | 14
9/13/2019 | 19
【问题讨论】:
-
请分享表定义和一些示例数据..
标签: sql sql-server datetime gaps-and-islands lateral-join