我有一个名为 的 SQL Server 表AgentLog 我在其中为每个代理存储他的每日销售额。
+-----------+------------+-------------+
| AgentName | Date | SalesNumber |
+-----------+------------+-------------+
| John | 01.01.2014 | 45 |
| Terry | 01.01.2014 | 30 |
| John | 02.01.2014 | 20 |
| Terry | 02.01.2014 | 15 |
| Terry | 03.01.2014 | 52 |
| Terry | 04.01.2014 | 24 |
| Terry | 05.01.2014 | 12 |
| Terry | 06.01.2014 | 10 |
| Terry | 07.01.2014 | 23 |
| John | 08.01.2014 | 48 |
| Terry | 08.01.2014 | 35 |
| John | 09.01.2014 | 37 |
| Terry | 10.01.2014 | 35 |
+-----------+------------+-------------+
如果代理在某一特定日期不工作,则不会有他在该日期的销售记录。
我想在给定的日期间隔(例如:01.01.2014 - 10.01.2014)上生成一个报告(查询),它计算代理没有上类的天数(例如:John - 6 天),在work (John - 4 days) 并返回它不存在的日期间隔(例如:John 03.01.2014 - 07.01.2014, 10.01.2014)(可以有多个间隔)。
最佳答案
您需要创建一个自定义表格,并为您想要的范围内的每个日期填充一条记录(您可以根据自己的需要随意追溯过去和 future 。)。您可以非常轻松地在 Excel 中执行此操作并将其导入。
Select *
from Custom.DateListTable dlt
left outer join agentlog ag
on dlt.Date = ag.Date
关于sql-server - 用记录计算一年中的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27491723/