小编pdo*_*dog的帖子

SQL Server 2008,临时表,游标

我已经在这工作了一段时间.我想知道如何得到这张桌子:

id       open_dt             ops_hrs
1        10/31/2011          7:00AM - 5:30PM
2        11/1/2011           7:00AM - 5:00PM
3        11/2/2011           7:00AM - 5:00PM
4        11/3/2011           7:00AM - 5:00PM
5        11/6/2011           7:00AM - 7:00PM
6        11/8/2011           7:00AM - 5:00PM
Run Code Online (Sandbox Code Playgroud)

看起来像这张桌子:

max_date          min_date     ops_hrs
10/31/2011        10/31/2011   7:00AM - 5:30PM
11/1/2011         11/3/2011    7:00AM - 5:00PM
11/6/2011         11/6/2011    7:00AM - 7:00PM
11/8/2011         11/8/2011    7:00AM - 5:00PM
Run Code Online (Sandbox Code Playgroud)

我尝试使用游标,但没有必要.此外,它必须分组.连续几天打破一个新的分组发生.任何帮助,将不胜感激.

此查询将生成上述示例数据

;
WITH pdog (id, open_dt,ops_hrs) AS
(
SELECT 1, CAST('10/31/2011' AS datetime),  '7:00AM - 5:30PM'
UNION ALL SELECT 2, CAST('11/1/2011' …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server sql-server-2008 gaps-and-islands

6
推荐指数
2
解决办法
1247
查看次数