我有两张table。
DateTable1(客户端的月份开始和结束日期,适当的月份编号):客户|月数|月份开始日期|月结束日期
DateTable2(对于每个客户端,每天占1行,该行包含适当的季度号):客户|日期|季度编号
我想创建一个日期表,使它每天有一行,为每个客户机显示QuarterNumber(到目前为止,它与DateTable2相同),另外我想从DateTable1中获得MonthNumber。
我正在考虑两种解决方案:
1.对客户端名称执行内部联接,并应用where条件进行筛选,以使DateTable2的日期介于DateTable1的开始值和结束值之间。
1.执行交叉连接(所以没有on子句),并应用与上面相同的where条件。
请您指导我如何从上述解决方案中进行选择?
1条答案
按热度按时间46scxncf1#
这里的正确答案可能是利用日历表。
如果你不能或者不想完全实现一个,你可以用一点递归来伪造一个:
仅使用其中一个表,我们就可以迭代应该提供给客户的日期,并填补空白。
现在,每个客户机每天都有一行(它们在第一个表中有数据),您可以根据需要加入该行。
编辑:
如果另一个表如所述,并且包含非标准季度编号,您可以直接加入它:
我没有把另一张table上的每一个日期都包括进去。