【发布时间】:2009-03-09 15:49:23
【问题描述】:
我需要一个从 2004 年到当前年份的年份列表作为记录集(按降序排列),无需编写存储过程。这可能吗? (SQL Server 2005)。所以它应该返回:
2009
2008
2007
2006
2005
2004
【问题讨论】:
-
我想创建临时表或 UDF 也是禁止的?
-
虽然是一个有趣的谜题,但我怀疑需要这个的原因。虽然 Lieven 的解决方案会起作用,但它高度依赖于表是否有足够的行。它会产生不良的依赖关系。
-
@Will,您提出了一个有效的观点,说明人们需要这个的原因。我不确定依赖问题。该语句很可能会在更大的语句中使用。如果使用这个更大语句中的表,我会接受这种依赖。
-
要求只是在 SQL 报告中填充参数下拉列表,以允许选择自 2004 年以来的任何年份。
-
@Graeme。在这种情况下,Will 有一点关于创建不良依赖关系的观点。为了尽量减少影响,我会选择一个包含足够行且不太可能发生变化的系统表。
标签: sql-server sql-server-2005 tsql