【发布时间】:2016-01-19 21:05:02
【问题描述】:
我有一个 MS Access 查询(使用 SQL 创建),它计算设备状态表中日期列中非 NULL 值的出现次数。该表包含特定制造工厂的所有设备。该查询还计算设备总数,我们没有 NULL 值。共有 12 个不同的工厂,每个工厂都有自己相同的一组 Access 表。我需要创建一个整合的 SQL 查询,将每个计数的总和创建为所有植物的主计数。
status 表的结构,名为 '_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 组表。
这是有效的单表查询:
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;
dept1_equipment 表上的连接用于获取每个部门中所有设备的完整计数。
非常感谢。
鲍勃
【问题讨论】:
-
上周在类似的 SQL 挑战中得到了来自 @sagi 的极大帮助。如果他的解决方案有助于浏览此解决方案,请参阅 [link]stackoverflow.com/questions/34836370/… 了解有关该解决方案的详细信息。