USE tempdb;
CREATE TABLE #temptable
(
[姓名] NVARCHAR(255),
[加班日期] DATE,
[加班时长] DECIMAL(8, 2)
);
INSERT INTO #temptable
(
[姓名],
[加班日期],
[加班时长]
)
VALUES
(N'张三', N'2021-10-09', 1),
(N'张三', N'2021-10-08', 2),
(N'张三', N'2021-10-07', 3),
(N'张三', N'2021-10-06', 2); --定义参数
DECLARE @v DECIMAL(8, 2);
SET @v = 2.2; WITH cte_base
AS (SELECT *,
ROW_NUMBER() OVER (PARTITION BY 姓名 ORDER BY 加班日期 DESC) n
FROM #temptable),
cte
AS (SELECT cte_base.n,
cte_base.姓名,
cte_base.加班日期,
cte_base.加班时长,
CAST(加班时长 AS DECIMAL(8, 2)) AS sum_,
'√' AS flag
FROM cte_base
WHERE n = 1
UNION ALL
SELECT cte_base.n,
cte_base.姓名,
cte_base.加班日期,
cte_base.加班时长,
CAST((cte.sum_ + cte_base.加班时长) AS DECIMAL(8, 2)) AS sum_,
CASE
WHEN (cte.sum_ < @v) THEN
'√'
END AS flag
FROM cte
JOIN cte_base
ON cte.n + 1 = cte_base.n)
SELECT *
FROM cte;

sql server 自动核算的更多相关文章

  1. 【SQL】用Sql Server自动生产html格式的数据字典

    原文:[SQL]用Sql Server自动生产html格式的数据字典 本文软件环境:Sql Server 2008. 1.打开sql server管理器,给选定的表添加描述信息,给指定的字段添加描述信 ...

  2. 【Transact-SQL】SQL Server自动把left join自动转化为inner join、以及关联时的数据重复问题

    原文:[Transact-SQL]SQL Server自动把left join自动转化为inner join.以及关联时的数据重复问题 1.SQL Server自动把left join自动转化为inn ...

  3. SQL Server 自动增长过大

    一.背景 我们遇到的问题如下图所示:自动增长无端端就按照这样的比例进行增长: (Figure1:问题所在) 尝试使用SSMS修改自动增长值,就会出现下面的错误: (Figure2:错误信息) 遇到上面 ...

  4. Sql Server自动备份数据库,定期删除备份

    //实现:每天自动备份数据库,定期删除备份 //步骤:[开始]--[所有程序]--[Microsoft SQL Server 2005]--[SQL Server Management Studio] ...

  5. SQL SERVER 自动生成 MySQL 表结构及索引 的建表SQL

          SQL SERVER的表结构及索引转换为MySQL的表结构及索引,其实在很多第三方工具中有提供,比如navicat.sqlyog等,但是,在处理某些数据类型.默认值及索引转换的时候,总有些 ...

  6. SQL Server 自动循环归档分区数据脚本

    标签:SQL SERVER/MSSQL SERVER/数据库/DBA/表分区 概述 在很多业务场景下我们需要对一些记录量比较大的表进行分区,同时为了保证性能需要将一些旧的数据进行归档.在分区表很多的情 ...

  7. SQL Server自动备份 备份到本地或者远程服务器

    0.1 在SQLServer2008 --> 备份数据库 --> 安全 --> 新建用户 --> 用户名 选择该windows用户 (确保 --> 机器名/人名 --&g ...

  8. SQL Server 自动重建出现碎片的索引

    1.索引碎片的产生? 由于在表里大量的插入.修改.删除操作而使索引页分裂.如果索引有了高的碎片,有两种情况,一种情况是扫描索引需要花费很多的时间,另一种情况是在查询的时候索引根本不使用索引,都会导致性 ...

  9. SQL Server ->> 自动创建表并从文件加载数据

    这个存储过程自动创建表并从文件加载数据. 有一点需要说明的是Excel 12.0驱动是兼容了Excel 97-2003和Excel 2007两者格式的Excel文件. CREATE PROCEDURE ...

  10. Entity Framewrok 7beta7中不同版本sql server自动生成分页sql语句的问题

    在EF中,使用linq进行分页是很方便的,假如我们有一个EMP表,结构如下: public class Emp { [Key] public Guid No { get; set; } public ...

随机推荐

  1. git的基本操作(一)

    pwd: 显示当前所在的目录路径 ls: 列出当前目录的所有文件 touch: 新建一个文件 rm:删除一个文件 mkdir:新建一个目录 rm -r:删除一个目录 mv:移动一个文件到另一个文件中 ...

  2. Kubernetes学习笔记(一)

    参考: kubectl Cheat Sheet | Kubernetes Kubernetes kubectl 命令表 _ Kubernetes(K8S)中文文档_Kubernetes中文社区 Pla ...

  3. MySQL Delete 表数据后,磁盘空间并未释放,为什么?

    有开发小哥咨询了一个问题,记录一下处理过程分享给有需要的朋友.问题如下:MySQL数据库中有几张表增删比较频繁.数据变动剧烈且数据量大,导致数据增长过快,磁盘占用多.为了节约成本,定期进行数据备份,并 ...

  4. 织梦dedecms网站迁移搬家图文教程

    织梦dedecms网站迁移搬家图文教程 2014-07-31  dedecms教程  文章介绍 织梦作为国内使用最多的程序之一,难免很多新手在接触dede时不知道怎么转移也就是搬家dede的程序,而且 ...

  5. c#在代码中再次调用按钮点击事件

    在一个按钮事件中调用另一个按钮(button1)的点击事件,可以直接如下: button1.PerformClick() 也称之为 以编程方式调用按钮的click事件

  6. session.timeout.ms、heartbeat.interval.ms、max.poll.interval.ms的含义及联系

    如果你使用消费者,那么一定会接触这几个参数: session.timeout.ms.heartbeat.interval.ms.max.poll.interval.ms,先让我们看看分别代表什么含义吧 ...

  7. sourceTree工具使用方法

    https://www.cnblogs.com/tian-xie/p/6264104.html

  8. Linux CentOS 8系统离线升级内核版本

    Linux CentOS 8系统离线升级内核版本 搬运如下文章,十分感谢 https://blog.csdn.net/WQwinter/article/details/127231086 二.升级步骤 ...

  9. vue 封装时间格式化和number精确度

    //format.js 公用js /** * Parse the time to string * @param {(Object|string|number)} time * @param {str ...

  10. 进入容器后不显示id

    https://www.656463.com/wenda/dockerexejrrqbxsrqID_493 net=host的原因