【发布时间】:2012-08-30 01:02:21
【问题描述】:
今天下午我有点“大脑衰退”,所以如果有人能帮忙处理这个 mssql 查询,那就太好了。
我有一个名为“seasons”的表,其中包含三列(还有更多但与示例无关):seasonId、date、tariffId
SeasonId 是唯一键。 一个日期只能有一个关税编号,但一个关税编号可以有多个不同的日期。
例如:
seasonId | date | tariffId
----------------------------------
1 | 1 jan 2009 | 1
2 | 2 jan 2009 | 1
3 | 3 jan 2009 | 2
4 | 4 jan 2009 | 3
5 | 5 jan 2009 | 3
我想让查询返回针对特定关税 ID 的日期序列/范围
例如使用上面的数据,它将返回以下内容:
FromDate | ToDate | TariffId
-----------------------------------
1 | Jan 2009 2 | Jan 2009 1
3 | Jan 2009 3 | Jan 2009 2
4 | Jan 2009 5 | Jan 2009 3
这可能吗?
编辑 感谢您到目前为止的所有答案!我总是很惊讶你能得到这么多的回应!
但是,我的示例数据可能不够复杂,因为关税可以有 1 个或多个日期范围
seasonId | date | tariffId
----------------------------------
1 | 1 jan 2009 | 1
2 | 2 jan 2009 | 1
3 | 3 jan 2009 | 2
4 | 4 jan 2009 | 3
5 | 5 jan 2009 | 3
6 | 6 jan 2009 | 1
7 | 7 jan 2009 | 1
8 | 8 jan 2009 | 3
愿意:
FromDate | ToDate | TariffId
------------------------------------
1 Jan 2009 | 2 Jan 2009 | 1
3 Jan 2009 | 3 Jan 2009 | 2
4 Jan 2009 | 5 Jan 2009 | 3
6 Jan 2009 | 7 Jan 2009 | 1
8 Jan 2009 | 8 Jan 2009 | 3
想法?
感谢大家对此的帮助!这个网站太棒了!
【问题讨论】:
标签: sql sql-server sql-server-2005 tsql