Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 总计的有条件时间段_Sql Server_Date - Fatal编程技术网

Sql server 总计的有条件时间段

Sql server 总计的有条件时间段,sql-server,date,Sql Server,Date,我觉得我让事情变得更难了。我试图显示C月的总额,但该总额必须包括a、B和C月的总额。然后,我需要为D月做同样的事情,包括B、C和D月的总额。一旦我算出了这一点,我需要按个人帐户进行细分,但这一部分应该不会太难 我有一个日期表要调用,但它没有一个月的开始或结束日期,这似乎造成了我的困难 因此,上述问题的解决方案是在join语句中使用CTE(公共表表达式),以标识该时间段可接受的日期范围 Select * FROM A LEFT JOIN B CASE WHEN a.DateID >= b.P

我觉得我让事情变得更难了。我试图显示C月的总额,但该总额必须包括a、B和C月的总额。然后,我需要为D月做同样的事情,包括B、C和D月的总额。一旦我算出了这一点,我需要按个人帐户进行细分,但这一部分应该不会太难


我有一个日期表要调用,但它没有一个月的开始或结束日期,这似乎造成了我的困难

因此,上述问题的解决方案是在join语句中使用CTE(公共表表达式),以标识该时间段可接受的日期范围

Select *
FROM A
LEFT JOIN B CASE WHEN a.DateID >= b.PeriodStart AND a.DateID <= b.PeriodEnd THEN 1 ELSE 0 END = 1
选择*
从
当a.DateID>=B.PeriodStart和a.DateID时,左连接B