【发布时间】:2021-11-20 12:53:16
【问题描述】:
我有一个表,其中包含一些具有如下列结构的产品数据:
| COL1 | COL2 | COL3 | PRODUCT | COL4 | COL5 | FM_START | FM_END | FM | FM_NAME | FY |
|---|
我还有一张表,里面有财政月和财政年的数据(最后5列),每个月都有开始日期、结束日期、编号和名称。 有些产品缺少月份,这通常意味着在这些特定月份没有对这些产品进行任何操作,但是缺少的行会扰乱我们之后对表格进行的数据分析。 我正在寻找一种算法来识别每个产品的缺失月份,从会计日历表中获取这些月份的数据,并将它们作为行插入到该表中,并为其他列提供一些默认值。
希望我的解释很清楚,有人对如何实现这一点有一些想法吗?
编辑:对于每个会计年度,会计月份的开始日期和结束日期可能略有不同。如果这条信息很重要,只是想添加。
【问题讨论】:
-
使用日历表和
LEFT JOIN。 -
从数据中发布一些示例行。
-
日历通常每个日期都有 1 行,因此您可以为每个日期选择不同的会计期间。我担心您的源表实际上没有可用于“查找”相关会计期间信息的日期列 - 但这是基于您的列名,无法提供关于它们实际含义或包含的任何线索。
-
@SMor FM_Start 和 FM_End 都是日期列,包含每个会计月的开始和结束日期,第一列包含与产品本身相关的值,而不是日期信息。
标签: sql sql-server database algorithm