我有一个MS Access查询(用SQL创建),用于统计设备状态表中日期列中非空值的出现次数。该表包含特定制造工厂的所有设备。查询也计算总设备,我们没有NULL值。总共有12个不同的工厂,每个工厂都有自己相同的访问表。我需要创建一个统一的SQL查询,将每个计数的总和转换为所有工厂的主计数。跨多组访问表的SQL计数求和查询
状态表的结构,命名为“_review_status”是:
equip_number, text
review_a_analysis, date
review_b_analysis, date
review_c_analysis, date
review_d_analysis, date
review_e_analysis, date
review_f_analysis, date
review_g_analysis, date
工作查询的结果(在一个表上)这个样子。
a b c d e f g equip_count
17 31 0 94 13 12 44 1249
新的结果应该看起来与上面完全一样,只不过因为查询查看所有12组表格。
这里是一个工作表查询:在dept1_equipment表
SELECT
Count(dept1_review_status.review_a_analysis) AS a,
Count(dept1_review_status.review_b_analysis) AS b,
Count(dept1_review_status.review_c_analysis) AS c,
Count(dept1_review_status.review_d_analysis) AS d,
Count(dept1_review_status.review_e_analysis) AS e,
Count(dept1_review_status.review_f_analysis) AS f,
Count(dept1_review_status.review_g_analysis) AS g,
Count(dept1_equipment.dept1_equip_number) AS equip_count
FROM dept1_equipment
LEFT JOIN dept1_review_status
ON dept1_equipment.dept1_equip_number =
dept1_review_status.dept1_equip_number;
的加入是用来获取所有设备的完整计数每个部门。
非常感谢。
鲍勃
上的类似SQL的挑战上周得到了很大的帮助形式@sagi。如果他的解决方案有助于浏览该解决方案,请参阅[链接] http://stackoverflow.com/questions/34836370/aggregate-sql-query-across-multiple-tables了解该解决方案的详细信息。 – bcrimmins