首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用日期范围列表按周日创建视图

使用日期范围列表按周日创建视图
EN

Stack Overflow用户
提问于 2013-11-12 23:54:08
回答 1查看 426关注 0票数 2

我遇到了麻烦,我花了很长时间想办法,请帮帮我

这是桌子

代码语言:javascript
复制
5555    Alex    10:47   2013-11-09
6666    Joel    00:09   2013-11-10
6666    Joel    22:10   2013-11-11
5555    Alex    01:00   2013-11-11

就像这样,它将有一个星期的日期,我需要创建一个视图,并将所有7天作为一个连续假设。

代码语言:javascript
复制
day1 date is 2013-11-09
day2 date is 2013-11-10
day3 date is 2013-11-11

我需要这个

代码语言:javascript
复制
Emplid Name   Day1    Day2     Day3   Day4   Day5 Day6 Day7
555    Alex   10.47   --       01.00  --     --   --   --
666    Joel   --      00.09    22.10  --     --   --   --

如果有人能给出一个很好的解决方案,那将是非常有帮助的。

谢谢

我收到了这个错误

Msg 4109,15级,状态1,第1行 窗口函数不能在另一个窗口函数或聚合的上下文中使用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-13 00:12:04

你需要这样的东西:

代码语言:javascript
复制
    SELECT Emplid,
           Name,
           max(day1) day1,
           max(day2) day2,
           max(day3) day3,
           max(day4) day4,
           max(day5) day5,
           max(day6) day6,
           max(day7) day7
      FROM (
              SELECT Emplid,
                     Name,
                     CASE WHEN rank() over(partition by Emplid, Name order by date) = 1 THEN time ELSE NULL END Day1,
                     CASE WHEN rank() over(partition by Emplid, Name order by date) = 2 THEN time ELSE NULL END Day2,
                     CASE WHEN rank() over(partition by Emplid, Name order by date) = 3 THEN time ELSE NULL END Day3,
                     CASE WHEN rank() over(partition by Emplid, Name order by date) = 4 THEN time ELSE NULL END Day4,
                     CASE WHEN rank() over(partition by Emplid, Name order by date) = 5 THEN time ELSE NULL END Day5,
                     CASE WHEN rank() over(partition by Emplid, Name order by date) = 6 THEN time ELSE NULL END Day6,
                     CASE WHEN rank() over(partition by Emplid, Name order by date) = 7 THEN time ELSE NULL END Day7
                FROM your_table
           ) t
  GROUP BY Emplid,
           Name

您可以检查这个基于SQLFiddle的演示

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19942471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档