如何按时间顺序用B表数据抵消A表数据
A表:
ID DATE MOUNT
A1 2015-01-01 200
A1 2015-02-02 200
A1 2015-03-10 300
A1 2015-03-20 100
B1 2015-01-02 100
B1 2015-02-25 300
B表
ID COUNT
A1 500
B1 300
得出如下结果:
ID DATE MOUNT
A1 2015-03-10 200
A1 2015-03-20 100
B1 2015-02-25 100
这样按时间顺序查出抵消后的数据,这样的SQL语句怎么写,不要存储过程
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

已采纳
SQL按时间抵消的查询语句
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除 结题
- 收藏 举报
4条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
the7thdays 2016-12-19 00:44关注select t2.ID,t2.Date,t2.count ,(select sum(t1.count) from A t1 where DATE<=t2.DATE AND t1.ID=t2.ID) AS sumcount ,(select sum(t1.count) from A t1 where DATE<=t2.DATE AND t1.ID=t2.ID)-t3.count AS value ,(select sum(t1.count) from A t1 where DATE<t2.DATE AND t1.ID=t2.ID)-t3.count AS value2 ,CASE WHEN (select sum(t1.count) from A t1 where DATE<t2.DATE AND t1.ID=t2.ID)-t3.count <0 THEN t2.count+((select sum(t1.count) from A t1 where DATE<t2.DATE AND t1.ID=t2.ID)-t3.count) ELSE t2.count END AS value3 from A t2, B t3 WHERE t2.ID=t3.ID AND ((select sum(t1.count) from A t1 where DATE<=t2.DATE AND t1.ID=t2.ID)-t3.count)>0 ORDER BY t2.ID,t2.Date
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2021-07-27 05:33回答 1 已采纳 SELECT DATE_FORMAT(pay_time,'%Y')AS 年 ,DATE_FORMAT(pay_time,'%m')AS 月 ,DATE_FORMAT(pay_time,'%d')A
- 2021-09-08 03:23回答 5 已采纳 select t2.* from (select a , max(c) mc from tablename group by a) t left join tablename t2 on t.a=
- 2021-12-02 08:06回答 1 已采纳 select name,id,sum(price) from table group by name,id having sum(price) >0
- 2025-02-27 13:45黄雪超的博客 大数据SQL调优专题——底层调优
- 2023-02-05 08:58回答 4 已采纳 假设你的入职时间存储在数据库中的字段名为"start_date",你可以使用下面的 SQL 语句来算出工作周年: SELECT start_date, DATEDIFF(week,
- 2018-07-10 22:58回答 16 已采纳 CREATE TABLE `User` ( `ID` int(11) unsigned NOT NULL AUTO_INCREMENT, `Name` varchar(255) COLLA
- 2022-05-05 05:46回答 1 已采纳 你在student后面或者where前面加个空格,如果你那个判断条件成立,student和where会拼在一起,变成studentwhere
- 2024-06-05 06:56Apache Flink的博客 本文整理自俞航翔、陈婧敏、黄鹏程老师所撰写的大状态作业调优实践指南。由于内容丰富,本文中篇内容分享 Flink SQL 作业大状态导致反压的调优原理与方法。
- 回答 4 已采纳 select t.tname,a.*,s.sname from teacher t left join course c on t.tno=c.tno left join ( select
- 2023-02-21 07:24回答 8 已采纳 基于Monster 组和GPT的调写:如果你想根据流域或县市划分来查询一小时雨量最大的10个站,可以使用以下SQL语句: -- 根据流域划分查询 select top 10 r.STCD, sum(r
- 2018-10-24 18:32回答 2 已采纳 ``` select (case warning when 'A' then '阿洛西林' when 'B' then '环酯红霉素' end) * from in_e
- 2024-06-04 12:27阿华田512的博客 目前 Flink SQL 生成状态算子的策略由优化器根据配置项 + SQL 语句来推导,想要在处理有状态的大规模数据和性能调优方面游刃有余的话,用户还是需要对 SQL 状态算子生成机制和管理策略有一定了解。
- 2022-04-28 09:50阳光__小好的博客 --以下SQL语句将一个WKT字符串转换成一个几何图形(geometry) SELECT 'POINT(0 0)'::geometry; --关于使用类型转换语法创建几何图形,需要注意一点:除非指定SRID,否则将得到一个包含未知SRID的几何图形。 --可以...
- 2024-05-25 05:25twm!的博客 大数据三大特征 数据存储(Apache Hadoop HDFS、Apache HBase、Apache Kudu、云平台)、数据计算(Apache Hadoop MapReduce 、Apache Spark、Apache Flink)、数据传输(Apache Kafka、Apache Pulsar、Apache Sqoop...
- 2022-03-03 14:49GONEW33的博客 Hive通过CLI/JDBC/ODBC或者HWI接受相关的HiveSQL查询,并通过Driver组件进行编译,分析优化最后变成可执行的MapReduce。Hive主要组件执行过程如下: Hive SQL关键概念 内部表(managed table):Hive管理的表,包含...
- 没有解决我的问题, 去提问
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司