【发布时间】:2015-02-03 14:19:30
【问题描述】:
在 SQL Server 中,您可以选择第一组值(即第 1 - 52 周)在新列中给它们另一个值,然后选择下一组值。
我遇到的问题是我正在处理的数据表有每个财政年度的周数,从 10 月 1 日之后的第一个星期日开始。所以它只是为每个财政年度迭代 1 - 52。
我正在尝试在一个视图中创建一个列,获取前 52 个给他们一个财政年度值 1,然后抓取下一个 52 个并给他们一个财政年度值 2 依此类推(显然第 1 年从第一条记录)。我也有可以使用的 Week Ending Date 列。
这是表的一个sn-p:
这可能吗?
【问题讨论】:
-
您的 WeekEndingDate 是否不能准确地告诉您现在是哪个会计年度,因为每个日期都属于一个且仅一个会计年度?
-
参考您提出的这个问题。 stackoverflow.com/questions/28180653/…
-
是的,但这取决于年份。即十月的第一个星期日。你是说这是组织它的方式吗?
-
您可以使用 datediff() 和 datepart() SQL 函数计算 10 月的第一个星期日;整个表中的最小和最大 WeekEndingDate 是多少?应该包含会计年度的列的名称是什么?
-
周数将始终为 1 - 52,包含财政年度的列可以是任何东西,只要是财政年就可以了,因为我还没有做到。
标签: sql sql-server