跨多个表

时间:2016-01-17 08:09:07

标签: sql ms-access ms-access-2010

我正在使用MS Access 2010.该数据库有一组12个相同的设备表,一个用于公司的12个不​​同部门。该表跟踪负责设备的人员(资源)需要采取的操作。我有一个简单的查询,它计算具有各种状态的资源数量。它看起来如下:

SELECT dept1.actions.resource, dept1.action.status, Count(*) AS status_count
FROM dept1.action
GROUP BY dept1.action.status, dept1.action.resource;

每个表格如下:

equip_id, text
resource, number (id of the resource who is responsible for the equipment)
status, number (id of the status of the action that the resource needs to do)

查询结果如下所示:

resource  status  status_count
1         1       63
2         1       79
5         1       16
6         1       3
0         3       1
1         3       1180
2         3       64
3         3       61
5         3       1
6         3       2
7         3       12
0         4       4

例如,第一行显示资源1有63件状态为1的设备。第二行显示资源2有79件状态为1的设备......依此类推。

我需要的是一个聚合查询,它为所有资源和状态组合提供公司级别的总计,即完全相同的结果表,但status_count列的数字会大得多。

感谢您提供任何帮助。

2 个答案:

答案 0 :(得分:1)

基本上,您可以为数据库中的每个dep表选择计数,将它们全部联合起来然后求它们。

#import <CoreLocation/CoreLocation.h>

答案 1 :(得分:1)

如果您能够进行架构更改,那么将12个表组合成一个表,其中包含一个用于departmentid的额外列。如果您无法更改数据库结构,则可以添加新表。然后,您可以添加一个临时表,将每个表的结果捕获到此临时结果表SELECT ... INTO。