sql语句怎么显示最后一次记录覆盖到后面所有的日期,以时间表为主表,三张表关联,用SUM累计计算做不出来
2条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
三年丿 2021-07-30 14:15最佳回答 专家已采纳你就说可以不可以
DROP TABLE #TempA,#TempB,#TempC CREATE TABLE #TempA (SJ Date) CREATE TABLE #TempB (UID INT,Create_Date Date,Scores_1 INT) CREATE TABLE #TempC (UID INT,value INT) INSERT INTO #TempA VALUES('2021/1/1'),('2021/1/2') ,('2021/1/3'),('2021/1/4') ,('2021/1/5'),('2021/1/6') ,('2021/1/7'),('2021/1/8') ,('2021/1/9'),('2021/1/10') ,('2021/1/11'),('2021/1/12') ,('2021/1/13'),('2021/1/14') ,('2021/1/15'),('2021/1/16') INSERT INTO #TempB VALUES(1,'2021/1/1',5),(1,'2021/1/3',5) ,(1,'2021/1/6',10),(2,'2021/1/1',5) ,(2,'2021/1/2',5),(2,'2021/1/3',5) ,(2,'2021/1/4',5) INSERT INTO #TempC VALUES(1,100),(2,50) ;WITH Temp AS( SELECT A.SJ,C.UID,C.value,ISNULL(B.scores_1,0) AS scores_1 FROM #TempA A CROSS JOIN #TempC C LEFT JOIN #TempB B ON A.SJ=B.Create_Date AND B.UID=C.UID ) SELECT A.SJ,A.UID,'成长数值'=A.value+SUM(B.Scores_1),'成长值'=A.Scores_1 FROM Temp A JOIN Temp B ON A.SJ>=B.SJ AND A.UID=B.UID GROUP BY A.UID,A.SJ,A.value,A.Scores_1
采纳该答案 已采纳该答案 专家已采纳评论解决 1 无用打赏举报微信扫一扫
分享评论登录 后可回复...
查看更多回答(1条)
报告相同问题?
提交
相关推荐 更多相似问题
- 2021-07-29 14:40回答 2 已采纳 你就说可以不可以 DROP TABLE #TempA,#TempB,#TempC CREATE TABLE #TempA (SJ Date) CREATE TABLE #TempB (UID INT,
- 2013-08-09 12:48回答 2 已采纳 select *,row_number()over(partition by user_id order by happeningtime desc) as rn from bussinesslogs
- 2017-11-30 02:06回答 6 已采纳 ``` select article.* , (select count(id) from reviews where reviews.article_id = arti
- 2019-09-25 05:17dicongtuo4349的博客 SQL语句大全 SQL语句大全 --语句功能 --数据操作 SELECT--从数据库表中检索数据行和列 INSERT--向数据库表添加新数据行 DELETE--从数据库表中删除数据行 UPDATE--更新数据库表中的数据 --...
- 2017-08-27 17:42weixin_34318272的博客 T- SQL性能优化详解http://www.cnblogs.com/weixing/p/3357519.html 故事开篇:你和你的团队经过不懈努力,终于使网站成功上线,刚开始时,注册用户较少,网站性能表现不错,但随着注册用户的...
- 2014-03-08 23:29newnazi的博客 学习SQL应知道的动态SQL语句基本语法 1 、普通SQL语句可以用Exec执行 9K p=A ' CdaF r1 eg: Select * from tableName Wsc+A: Exec('select * from tableName') # B tn( Exec sp_executesql N'select * ...
- 2017-10-30 04:56回答 4 已采纳 三个字段假设名称为name,time,info select t1.* from 表名 t1 inner join (select name,time from 表名 group by nam
- 2016-04-11 05:37回答 6 已采纳 select XS.Sno, Sname,Sex, birthday, Pid, class, department, KC.Courseno, Coursename, credit,
- 2020-05-15 16:27回答 1 已采纳 你查的time是大于‘2020/05/14 00:00:00’,所以就算是2020/05/14 00:00:01也会被选到
- 2012-01-06 18:43qeqeqe236的博客 SQL语句大全(转载) --语 句 功 能 --数据操作 SELECT --从数据库表中检索数据行和列 INSERT --向数据库表添加新数据行 DELETE --从数据库表中删除数据行 UPDATE --更新数据库表中的数据 --数据定义 CREATE ...
- 2020-07-06 18:55RendaZhang的博客 Introduction to MySQL and SQL Basic Concepts What is Database? 数据库就是存储和管理数据的仓库。 数据库是一个文件系统。它以文件的方式将数据保存在电脑上。 想了解更多,欢迎关注我的微信公众号:Renda_...
- 2021-11-08 23:02李宥小哥的博客 数据库–SQLServer详解 零、文章目录 一、数据库概念 1、数据库基本概念 (1)数据库(DataBase:DB) 数据库是是按照数据结构来组织、存储和管理数据的仓库。---->存储和管理数据的仓库 (2)数据库管理系统...
- 2016-03-18 14:14回答 1 已采纳 ``` select (CASE WHEN 语文 90 THEN '优秀' END) as 语文 (CASE WHEN 数学 90 THEN '优秀' END) as 数学 (CA
- 2021-04-23 15:34回答 1 已采纳 可以的 比如 select name 名字,sum(record) 分数,avg(average) 平均数 from student group by name having sum(record)
- 2016-11-11 08:20回答 2 已采纳 第二条sql语法不对,你要取数量最多的那条记录应该排序之后取第一条。
- 2016-04-21 16:00txl816的博客 学习SQL应知道的动态SQL语句基本语法 1 、普通SQL语句可以用Exec执行 9K p=A ' CdaF r1 eg: Select * from tableName Wsc+A: Exec('select * from tableName') # B tn( Exec sp_executesql N'select * ...
- 2020-09-28 09:46琪迹世界的博客 深入解析SQL Server 2008 笔记 </h1> <div class="clear"></div> ...div class="postBody">...第一章 sqlserver2008架构和配置 版本 SELECT SERVERPROPERTY('Edition') --Develope...
- 2020-05-04 08:54唄小白的博客 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建...
- 2017-07-15 07:02回答 1 已采纳 SELECT * from event where create_Date >= #{startDate} and create_Date = #{startDate}
- 2012-02-08 11:35莫欺少年穷的博客 Sql常用语法 下列语句部分是Mssql语句,不可以在access中使用。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言...
- 没有解决我的问题, 去提问