【发布时间】:2013-02-17 22:20:16
【问题描述】:
我正在尝试执行如下表的 SQL 查询:
id in_year out_year
------- ---------- -------------
1 2001 2002
2 2002 2002
3 2004 2007
可以查询,以便我将该范围内的所有年份映射到 id。例如,我想得到:
id year
--------- ---------
1 2001
1 2002
2 2002
3 2004
3 2005
3 2006
3 2007
具体来说,假设该表代表一家商店,其中包含元素及其到达商店和销售日期。该查询将返回映射到它们在商店中的年份的所有元素 ID。
【问题讨论】:
-
没有一个优雅的解决方案(但您可以创建 SP 或临时表并加入多年) - 最好在您的应用程序中这样做
-
我实际上是在尝试通过使用临时表来做到这一点。你是怎么加入的?
-
创建一个编号为
1..42的临时表,并用ON out_year <= in_year + tmp.n连接当前表,其中tmp是一个临时表,n是唯一的列名