SQL中的历史数据测试

SQL中的历史数据测试,sql,sql-server,Sql,Sql Server,目标: 创建一个视图/主要是自动的历史数据集,显示任何时候雇佣的员工数量-因此我希望数据输出类似于: 表-[日期],[在职员工人数] 方法:因此我构建了以下两个表: 表A-[日期]这是用于哪个RDBMS的?请添加一个标记来指定您使用的是mysql、postgresql、sql server、oracle还是db2,或者其他完全不同的东西。对不起!SQL-Server。您计划如何使用它?比如,你想给它一个随机的日期,然后告诉你那天有多少人工作吗?我觉得存储过程在那里可能更合适。如果是这样的话,让我

目标: 创建一个视图/主要是自动的历史数据集,显示任何时候雇佣的员工数量-因此我希望数据输出类似于:

表-[日期],[在职员工人数]

方法:因此我构建了以下两个表:


表A-[日期]这是用于哪个RDBMS的?请添加一个标记来指定您使用的是mysql、postgresql、sql server、oracle还是db2,或者其他完全不同的东西。对不起!SQL-Server。您计划如何使用它?比如,你想给它一个随机的日期,然后告诉你那天有多少人工作吗?我觉得存储过程在那里可能更合适。如果是这样的话,让我知道,我会发布一个答案,而不是随机日期。。目标是在某一天工作的人数。特定日期由日期范围定义,如01012014-01052016。该范围内的每一天都有一个基于上述逻辑的计数,并且该计数是特定于该天的。例如,2014年1月1日活动计数=50000,2014年1月2日=49998,2014年1月3日=50003,等等。希望这有意义!谢谢BaconPantsI先生或女士我不明白你在用TableA做什么?只需对TableB执行一个查询,该查询可以记录您的日期,并在适当的时候进行检查和调用该查询?这是用于哪个RDBMS的?请添加一个标记来指定您使用的是mysql、postgresql、sql server、oracle还是db2,或者其他完全不同的东西。对不起!SQL-Server。您计划如何使用它?比如,你想给它一个随机的日期,然后告诉你那天有多少人工作吗?我觉得存储过程在那里可能更合适。如果是这样的话,让我知道,我会发布一个答案,而不是随机日期。。目标是在某一天工作的人数。特定日期由日期范围定义,如01012014-01052016。该范围内的每一天都有一个基于上述逻辑的计数,并且该计数是特定于该天的。例如,2014年1月1日活动计数=50000,2014年1月2日=49998,2014年1月3日=50003,等等。希望这有意义!谢谢BaconPantsI先生或女士我不明白你在用TableA做什么?只需对TableB执行一个查询,该查询可以记录您的日期,并进行检查,并在适当时调用该查询即可?join with on不是有效的语法。看起来应该是“在哪里”而不是“在哪里”。感谢弗拉基米尔指出错误。我已经更新了查询,成功了。非常感谢。不带on的join不是有效语法。看起来应该是“在哪里”而不是“在哪里”。感谢弗拉基米尔指出错误。我已经更新了查询,成功了。非常感谢。
    IF TableA.[Dates] >= TableB.[Start Date]
       AND (TableA.[Date] <= TableB.[End Date] OR TableA.[Date] IS NULL)
           THEN <<count +1 or something>>
              END AS [Active Employee Count]
SELECT  COUNT(EMPNAME),
        [DATE]
from (
    select  TABLEB.EMPNAME,
            TABLEA.[DATE ]
    from TABLEB 
    cross join TABLEA  
    where TABLEA.[date] >= TABLEB.StartDate 
        and TABLEA.[date] <= TABLEB.ENDDATE
        ) AS T
group by [DATE];