Sql 从两个独立的不相交表中提取数据结果的数学分析

Sql 从两个独立的不相交表中提取数据结果的数学分析,sql,sql-server,Sql,Sql Server,目标是使用下面的表字段信息,对每个表中的一个字段执行不同的计算(表1字段1上的总和,表2字段2上的计数),然后将每个单独计算的结果除以以获得“结果”(见下式) 问题是我的SQL语句总是只提取两个表的公共值。例如,对于表2中340名员工的计数,表1中的培训时数超过日期范围=18,“结果”应该是18/340=.05,但对于我的SQL语句,它只看到340名员工中的3名,因此给出了18/3=6的答案。我希望统计表2中所有员工的人数,而不考虑日期范围和表1,然后对表1中日期范围内的小时数进行独立求和,然后

目标是使用下面的表字段信息,对每个表中的一个字段执行不同的计算(表1字段1上的总和,表2字段2上的计数),然后将每个单独计算的结果除以以获得“结果”(见下式)

问题是我的SQL语句总是只提取两个表的公共值。例如,对于表2中340名员工的计数,表1中的培训时数超过日期范围=18,“结果”应该是18/340=.05,但对于我的SQL语句,它只看到340名员工中的3名,因此给出了18/3=6的答案。我希望统计表2中所有员工的人数,而不考虑日期范围和表1,然后对表1中日期范围内的小时数进行独立求和,然后将这两个独立结果(小时/计数)除以,得到最终的“结果”

表格/字段信息:

table1 = Training_Action_SPPAL (sub table of All_Actions table)
table1 field1 = double1
table1 field2 = date1  (date1 range filter = 10/01/2014 to 09/30/2015)


table2 = Employee
table2 field1 = name
方程式:

sum(double1)/count(name) = "result" over date range of date1
示例数据单个SQL语句独立运行:

sum(double1) = 420.5    
count(name) = 380    
result = 1.1  (hand calculated, but SQL below resulted in 2.7)
工作正常但给出错误结果的SQL:

SELECT (SUM(a.double1)) / (COUNT(name))
FROM all_actions a, employee
WHERE a.category='Training_Action_SPPAL'
  AND a.date1 BETWEEN '10/01/2014' AND '09/30/2015'

我将把这些值分成两个查询,如下所示:

SELECT (SELECT Sum(double1) FROM all_actions 
  WHERE category='Training_Action_SPPAL' AND date1 between '10/01/2014' and '09/30/2015') / 
(SELECT Count(*) FROM Employee) AS Result