计算两个日期之间的SUM SQL SERVER

用户名

我有两个桌子

日历

FirstDate   |  LastDate
------------+-----------    
2020-05-01     2020-05-03
2020-05-02     2020-05-04

ProfileRate

ID |    Date    | Rate | Product
---+------------+------+----------
1    2020-05-01   100    Prod1
2    2020-05-02   200    Prod1
3    2020-05-03   300    Prod1
4    2020-05-04   400    Prod1
5    2020-05-01   150    Prod2
6    2020-05-02   250    Prod2
7    2020-05-03   350    Prod2
8    2020-05-04   450    Prod2

我想计算总和。像这样

FirstDate   | LastDate    | Prod1  | Prod2 
------------+-------------+--------+-------
2020-05-01    2020-05-03    600      750
2020-05-02    2020-05-04    900      1050

我尝试过的

SELECT [Date], SUM([Rate])
FROM [ProfileRate]
WHERE [Date] BETWEEN '2020-05-01' AND '2020-05-04'
GROUP BY [Date]

请帮我。谢谢

巴尼CBZ

您必须执行几个步骤来解决问题:

  1. 将日历记录与配置文件结合
  2. 确定哪些配置文件符合日历范围
  3. 每个配置文件和日期范围的值总计
  4. 最终建立日历的详细信息

该查询符合条件

with DataForCalendar as
(
  SELECT IdCalendar,FirstDate,LastDate,Id,DateRate,Rate,Product
  FROM
  Calendar CROSS JOIN ProfileRate 
  where DateRate  between '2020-05-01' and '2020-05-05'
),
DetailForCalendar as 
(
  select IdCalendar,Rate,Product 
  from DataForCalendar
  where   DateRate between FirstDate and LastDate
),
TotalForCalendar as 
(
  select IdCalendar,Product,sum(Rate)As Total from DetailForCalendar
  GROUP BY IdCalendar,Product
)
select   Calendar.IdCalendar,Calendar.FirstDate,Calendar.LastDate,
TotalForCalendar.Product,TotalForCalendar.Total 
from TotalForCalendar inner join 
Calendar on TotalForCalendar.IdCalendar=Calendar.IdCalendar;

在此示例中,您可以逐步找到它的工作方式

在此示例中,还有一个产品和一个日历。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL Server 2008计算两个日期之间的夜晚,但删除31st夜晚

来自分类Dev

计算SQL Server汇总中两个日期之间的星期数

来自分类Dev

计算SQL Server汇总中两个日期之间的星期数

来自分类Dev

如何计算没有。SQL Server 中两个日期时间列之间的天数

来自分类Dev

在SQL Server中的两个日期条件之间

来自分类Dev

SQL Server中两个日期之间的月份差异

来自分类Dev

从SQL Server获取两个日期之间的数据

来自分类Dev

SQL Server查找两个日期之间的记录

来自分类Dev

在SQL Server中的两个日期条件之间

来自分类Dev

SQL Server:查找两个日期之间的记录

来自分类Dev

SQL Server中两个日期之间的天数

来自分类Dev

两个日期之间的SQL Server总和数据按日期分组

来自分类Dev

获取SQL Server中两个日期之间的所有日期

来自分类Dev

获取 SQL Server 中不包括星期五的两个日期之间的日期差异

来自分类Dev

SQL Server - 检查 where 子句中两个日期之间的日期字段

来自分类Dev

如何减去两个日期列并计算SQL Server中的持续时间

来自分类Dev

在sql server中计算两个地理位置之间的距离

来自分类Dev

两个日期之间的SQL Sum列

来自分类Dev

两个日期之间的SQL SUM小时&GROUP BY列名?

来自分类Dev

如何在SQL Server中的两个日期之间获得秒数?

来自分类Dev

查找两个日期之间的中位数SQL Server 2008

来自分类Dev

从SQL Server中的多个表获取两个日期之间的记录

来自分类Dev

如何在SQL Server 2008中的两个给定日期之间求和

来自分类Dev

如何获取SQL Server中两个日期之间的月份和年份的列表

来自分类Dev

SQL Server 查询以获取两个日期之间的工作日数,不包括假期

来自分类Dev

检查两个月之间的日期SQL Server

来自分类Dev

检查两个月之间的日期SQL Server

来自分类Dev

两个 SQL Server 表之间的多个 FOREIGN KEY

来自分类Dev

SQL Server查询返回两个日期时间之间的数据,格式为01/07/2020 01:01:01 a。米

Related 相关文章

  1. 1

    SQL Server 2008计算两个日期之间的夜晚,但删除31st夜晚

  2. 2

    计算SQL Server汇总中两个日期之间的星期数

  3. 3

    计算SQL Server汇总中两个日期之间的星期数

  4. 4

    如何计算没有。SQL Server 中两个日期时间列之间的天数

  5. 5

    在SQL Server中的两个日期条件之间

  6. 6

    SQL Server中两个日期之间的月份差异

  7. 7

    从SQL Server获取两个日期之间的数据

  8. 8

    SQL Server查找两个日期之间的记录

  9. 9

    在SQL Server中的两个日期条件之间

  10. 10

    SQL Server:查找两个日期之间的记录

  11. 11

    SQL Server中两个日期之间的天数

  12. 12

    两个日期之间的SQL Server总和数据按日期分组

  13. 13

    获取SQL Server中两个日期之间的所有日期

  14. 14

    获取 SQL Server 中不包括星期五的两个日期之间的日期差异

  15. 15

    SQL Server - 检查 where 子句中两个日期之间的日期字段

  16. 16

    如何减去两个日期列并计算SQL Server中的持续时间

  17. 17

    在sql server中计算两个地理位置之间的距离

  18. 18

    两个日期之间的SQL Sum列

  19. 19

    两个日期之间的SQL SUM小时&GROUP BY列名?

  20. 20

    如何在SQL Server中的两个日期之间获得秒数?

  21. 21

    查找两个日期之间的中位数SQL Server 2008

  22. 22

    从SQL Server中的多个表获取两个日期之间的记录

  23. 23

    如何在SQL Server 2008中的两个给定日期之间求和

  24. 24

    如何获取SQL Server中两个日期之间的月份和年份的列表

  25. 25

    SQL Server 查询以获取两个日期之间的工作日数,不包括假期

  26. 26

    检查两个月之间的日期SQL Server

  27. 27

    检查两个月之间的日期SQL Server

  28. 28

    两个 SQL Server 表之间的多个 FOREIGN KEY

  29. 29

    SQL Server查询返回两个日期时间之间的数据,格式为01/07/2020 01:01:01 a。米

热门标签

归档