加入日历表 - 5 个工作日

2024-04-19

所以这是这里的一个常见问题,但我还没有找到真正适合我的特定需求的答案。我有 2 张桌子。其中有一个 ProjectClosedDates 列表。另一个表是一个类似于 2025 年的日历表,其中包含表示行日期是否为周末的列,以及另一列表示假日日期的列。

我的最终目标是根据 ProjectClosedDate 找出该日期后 5 个工作日后的日期。我的想法是,我将使用日历表并将其连接到自身,这样我就可以在距离行日期 5 个工作日的日历表中插入一列。然后,我将根据 ProjectClosedDate = RowDate 将项目表连接到该表。

如果我只是要检查实际业务日期表中的一条记录,我可以使用以下命令:

SELECT actual_date from 
(
    SELECT actual_date, ROW_NUMBER() OVER(ORDER BY actual_date) AS Row 
    FROM DateTable
    WHERE is_holiday= 0 and actual_date > '2013-12-01'
    ORDER BY actual_date
) X
WHERE row = 65

从这里:

sql 工作日 节假日 https://stackoverflow.com/questions/20595934/sql-working-days-holidays

但是,这只是一个日期,我需要基于每一行的一列日期。有什么想法可以做到这一点的最佳方法是什么?我正在使用 SQL Server Management Studio。


完全未经测试且未经过深思熟虑:

如果“工作日”的概念在您的系统中很常见且很重要,您可以在表中添加“工作日顺序”列。该列将是一个简单的唯一序列,每个工作日递增 1,对于不计为工作日的每一天递增 1。

数据看起来像这样:

Date       BDAY_SEQ
========== ========
2014-03-03    1
2014-03-04    2
2014-03-05    3
2014-03-06    4
2014-03-07    5
2014-03-08    
2014-03-09    
2014-03-10    6

现在,查找任意日期的第 N 个工作日是一项简单的任务。 您只需与日历表进行自连接,在连接条件中添加偏移量即可。

select a.actual_date
      ,b.actual_date as nth_bussines_day
  from DateTable a
  join DateTable b on(
       b.bday_seq = a.bday_seq + 5
  );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

加入日历表 - 5 个工作日 的相关文章

  • Postgres 中 -Infinity 和 Infinity 的适当值

    在一种情况下 我们必须在 Postgres DB 中存储 无穷大和 无穷大的值 应该考虑什么合适的值 如果没有 请建议最合适的替代方案 你实际上可以使用 infinity and infinity for FLOAT4 and FLOAT8
  • 每行中非空列的计数

    我有一个包含 4 列的表 在第 5 列中我想存储前 4 列中有多少个非空列的计数 例如 其中 X 是任意值 Column1 Column2 Column3 Column4 Count X X NULL X 3 NULL NULL X X 2
  • 如何根据条件删除结果以计算平均值

    我有下面的架构 对其的快速解释是 鲍勃评分为 5 5 詹姆斯评分 1 5 梅西百货评分高达 5 5 逻辑 如果我是 A 请查找我屏蔽的所有人 查阅所有电影评论 任何留下电影评论且 personA 已屏蔽的人 请将其从计算中删除 计算电影的平
  • 验证 sql/oracle 中的电子邮件/邮政编码字段

    对于以下方面的一些建议将不胜感激 是否可以通过 oracle 中的 sql 中的某种检查约束来验证电子邮件和邮政编码字段 或者我怀疑 pl sql 带有正则表达式的这种事情 Thanks 这是电子邮件地址的正则表达式语法 包括引号 a zA
  • 手动更改postgresql中查询的执行计划?

    是否可以在postgresql中手动更改执行计划的操作顺序 例如 如果我总是想在过滤之前进行排序操作 尽管这在 postgresql 的正常使用中没有意义 是否可以通过例如手动强制执行该操作改变运营的内部成本 如果我实现自己的功能呢 是否可
  • Postgresql 串行错误自动增量

    我在 postgresql 上遇到问题 我认为 postgresql 中有一个错误 我错误地实现了一些东西 有一个表包括colmn1 primary key colmn2 unique colmn3 插入一行后 如果我尝试使用现有的另一次插
  • 如何搜索表中的所有列?

    如何在 SQL Server 中搜索表的所有列 SELECT FROM yourtable WHERE val IN field1 field2 field3 field4 如果您正在寻找精确的全场比赛 如果你正在寻找子字符串匹配 你将不得
  • 优化 LATERAL join 中的慢速聚合

    在我的 PostgreSQL 9 6 2 数据库中 我有一个查询 该查询根据一些股票数据构建计算字段表 它为表中的每一行计算 1 到 10 年的移动平均窗口 并将其用于周期性调整 具体来说 CAPE CAPB CAPC CAPS 和 CAP
  • 删除重复的行并需要在mysql中保留所有行中的一个[重复]

    这个问题在这里已经有答案了 我想删除基于两列的重复行 但需要保留所有行 1 行 重复行可以多于两行 例如 ID NAME PHONE 1 NIL 1234 2 NIL 1234 3 NIL 1234 4 MES 5989 我想从上面 3 行
  • Magento 设置脚本中的 ALTER TABLE 不使用 SQL

    乔纳森 戴 https stackoverflow com users 336905 jonathan day says 更新不应采用以下形式 SQL命令 我没遇到过 任何 DDL 或 DML 语句不能 通过 Magento 的配置执行 结
  • 如何在 PostgreSQL 中使用条件和子查询创建唯一索引?

    我使用 PGSQL 并尝试添加下面的索引 CREATE UNIQUE INDEX fk client ON user client fk client WHERE fk client NOT IN SELECT fk client FROM
  • 如何使用第二行中的值填充第一行中的空值?

    我正在尝试编写一个查询 仅显示每个名称的第一行 但这些行的标题为空 因此我想从紧邻的下一行中提取它们的标题 table1 Name Title Row Dan NULL 1 Dan Engineer 2 Dan Developer 3 Ja
  • 创建日期范围表

    我正在编写一份需要显示每天值的报告 我有查询的开始日期和结束日期 但我希望避免丢失日期 以防表不包含特定日期的值 我正在考虑创建一个基本日期范围表 其中包含开始和结束之间的所有日期 然后将其与数据表左连接以显示每一天的值 我找到了一些适用于
  • 私人聊天系统MYSQL查询显示发送者/接收者的最后一条消息

    在这里我延伸一下我之前的问题 私人聊天系统MYSQL查询ORDERBY和GROUPBY https stackoverflow com questions 10929366 private chat system mysql query o
  • 通过 SQLAlchemy 获取随机行

    如何使用 SQLAlchemy 从表中选择一个或多个随机行 这在很大程度上是一个特定于数据库的问题 我知道 PostgreSQL SQLite MySQL 和 Oracle 具有通过随机函数排序的能力 因此您可以在 SQLAlchemy 中
  • 如何对多行的一列值求和?

    我有这个表 我想添加几行的 change 列的值 或者更准确地说 从 ne 值为零的行到 ne 值为零的下一行 不是第二个本身 任何答案将不胜感激 rn date ne change 0 2008 12 07 0 10330848398 1
  • SQLite (Android):使用 ORDER BY 更新查询

    Android SQLite 我想要在 myTable 中的其他行之间插入行在android中使用SQLite 为此 我尝试增加从第 3 行开始的所有行的 id 这样 我就可以在位置 3 处插入新行 myTable 的主键是列 id 表中没
  • SQL Server 2008 错误 233

    我正在使用以下 sql 脚本在 SQL Server 2008 中创建新登录名 CREATE LOGIN xyz WITH PASSWORD xyz DEFAULT DATABASE master DEFAULT LANGUAGE us e
  • 没有为 1 个或多个必需参数给出值。更新SQL

    我正在编写一个程序 当用户在列表视图上选择记录时 该程序会更新密码或积分 我收到错误 没有为 1 个或多个必需参数给出值 我不知道如何纠正 我是否遗漏了一些明显的东西 Dim sql As String UPDATE Users SET P
  • 根据由另一列分组的不同列的最大值获取值[重复]

    这个问题在这里已经有答案了 我想根据由另一列分组的不同列的最大值来获取列的值 我有这张表 KEY NUM VAL A 1 AB B 1 CD B 2 EF C 2 GH C 3 HI D 1 JK D 3 LM 并想要这样的结果 KEY V

随机推荐

  • 更新两个表的 SQL 触发器

    我是 SQL 新手 有人可以帮我修复下面的触发器吗 我有这 2 个表 评论和报价 我想更新评论表插入 更新和删除 从报价表中获取数据 如果更新成功 我想使用 ReviewId 和 ReviewDate 更新报价表 我使用的是Azure提供的
  • JQuery Ajax 火狐错误

    下面的代码在 Chrome 和 IE 中都可以正常工作 get ajax BTBookAppointment aspx dsl telNumberBox value date requiredDate value timeslot ddTi
  • 从连接到计算机并在成像设备中列出的相机捕获图像

    我有一台佳能 EOS 1000D 当我将其连接到计算机时 它列在 控制面板 gt 成像设备 下 我想以编程方式拍照 我猜想成像设备中列出的所有设备都具有相同的接口 可能是 TWAIN 并且具有向它们发送命令的标准方法 TWAIN可以做到吗
  • Rails 6 中是否必须手动将 ApplicationHelper 包含在 ApplicationController 中?

    控制器 class FooController lt ApplicationController def index bar method 应用程序助手 module ApplicationHelper def bar method 查看索
  • 如何禁止在Python中创建新的类属性?

    这可能看起来是一个非常基本的问题 但我在 SO 或其他地方找不到任何有用的东西 如果您参加内置课程 例如int or list 没有办法为它们创建额外的类属性 这显然是一个理想的行为 gt gt gt int x 0 Traceback m
  • 在 Django REST 框架中序列化内部方法字段

    例如 我有两个模型 Model1 and Model2 它们在模型级别上不通过任何关键字段直接相互关联 对于这两种模型 我都有序列化器 我正在寻找拥有的方式Model2查询集在Model1序列化器 例如 GET api model1 01
  • 无法在运行 apache 服务器上访问 http://localhost:80

    在 ubuntu 14 04 中运行 apache 服务器时我得到 This webpage is not available 在浏览器中或 curl 7 Failed to connect to localhost port 80 Con
  • 视图的高效“屏幕截图”?

    TL DR 自从getDrawingCache 似乎触发了一个完整的重绘View当启用硬件加速时 是否有其他方法获得Bitmap 或类似的东西 可以避免这种情况 也许是通过读取填充到 硬件 软件 层的数据View最后被抽到了 一些背景 自
  • 第一个 cURL 请求验证 GCM api 密钥

    目前正在尝试使用 GCM API 密钥构建我的第一个 Android 应用程序 一款营销软件将使用该密钥来发送推送通知 想要获得一些帮助 通过curl请求验证我的谷歌云消息 GCM API密钥 我尝试使用在线卷曲生成器 但结果与我期望的成功
  • Common Lisp 鼠标位置与 ltk

    我正在 Common Lisp 中制作一个简单的小程序 我想使用鼠标移动来控制它 我用 LTK 作为窗口 我找不到任何可以检索鼠标位置的函数 例如 Emacs Lisp 有 鼠标像素位置 我发现这在罗塞塔代码上 https rosettac
  • 为 WebRTC 应用程序实现我们自己的 STUN/TURN 服务器 [重复]

    这个问题在这里已经有答案了 我正在开发一个 webrtc 应用程序 并且必须实现以下 TURN 服务器 https code google com p rfc5766 turn server https code google com p
  • R 中的旋转轴标签

    如何使 条形 图的 y 轴标签平行于 X 轴而不是平行于 Y 轴 不确定这是否是您的意思 但尝试设置las 1 这是一个例子 require grDevices tN lt table Ni lt stats rpois 100 lambd
  • php中比较字符串的方法

    我想比较两个字符串并返回比较级别 字符串 1 是输入 可以采用来自客户端的多种格式 例如 string 1 GCSE English Lang Year 10 or string 1 Year 10 Eng Lang GCSE etc 字符
  • 如何在 VB.NET 中调用异步 Web 请求?

    我目前正在使用以下代码来创建网络请求 Dim myRequest As WebRequest WebRequest Create http foo com bar Dim myResponse As WebResponse myReques
  • 在 iOS 中加载/保存设置

    我在 AppDelegate 中定义了以下两个过程 保存设置和加载设置 单击保存按钮后 我将在 AppDidFinishLaunching 方法中调用 loadSettings 过程 并在设置视图中调用 saveSettings 过程 这两
  • 从外部源填充运行时天蓝色管道参数

    我们希望创建一个管道来更新我们的多租户 Azure 环境 我们需要在每个租户的更新过程中执行一些操作 为了实现这一目标 我们希望为每个租户创建一个作业 以便我们可以并行处理租户 为了实现此目的 我想使用运行时参数来传递租户以更新到我的管道
  • OSX 中的 python 地穴

    我有一个 Django 应用程序 它可以重置 Ubuntu 机器上运行的 unix 用户密码 但我的开发环境是 OS X 我遇到了这种恼人的情况 OS X gt gt gt import crypt gt gt gt crypt crypt
  • C/C++:如何将数据存储在B树中的文件中

    在我看来 将数据作为文件存储在 B 树中的一种方法可以使用 C 语言使用具有结构序列 数组 的二进制文件来有效完成 每个结构代表一个节点 因此 我们可以使用类似于使用数组创建链表的方法来连接各个节点 但随之而来的问题是删除节点 因为在一个大
  • “RPC 服务器不可用。”循环遍历Word文档时

    我正在开发一个实用程序来查找和更新 Word 中的 DOC 变量 我有一段代码可以循环遍历文档并显示带有变量名称的消息框 但是当它尝试打开下一个文档时收到错误 错误是 System Runtime InteropServices COMEx
  • 加入日历表 - 5 个工作日

    所以这是这里的一个常见问题 但我还没有找到真正适合我的特定需求的答案 我有 2 张桌子 其中有一个 ProjectClosedDates 列表 另一个表是一个类似于 2025 年的日历表 其中包含表示行日期是否为周末的列 以及另一列表示假日