将变量设置为 ms 访问查询
set variable to ms access query
我有一个包含 9 个 table 的 MS Access 数据库。每个代表收集垃圾的垃圾填埋场。
这些 table 包含几个字段,主键是日期,其余字段是几个市政当局发送到每个垃圾填埋场的垃圾吨数。
例如,对于 table 垃圾填埋场 1:
日期自治市 1 自治市 2
1/1/2014 50 吨 30 吨
我要创建的查询是找出每个市政当局在特定日期向所有垃圾填埋场发送了多少吨垃圾。
代码应该是这样的
SELECT Landfill_1.municipality_1, Landfill_2.municipality_1,...,Landfill_10.municipality_1
FROM Landfill_1.date INNER JOIN Landfill_2.date ,..., INNER JOIN Landfill_10.date
WHERE Landfill_1.date=[Please select the date:];
我的问题是市政当局 1 应该是一个变量 这样我就不必每次都更改它。
将来自所有 table 的数据附加到一个 table 并添加字段:MunicipalityId。用 1 到 9 填入 table 记录来源。
在复合唯一索引中使用此字段和日期字段。
现在您只需要一个查询。
逆透视源数据。在每一行中仅记录一组变量,并将市政当局和垃圾填埋场标识符合并到键中。
Landfill, municipality, date, amount
1, 1, 1/1/2014, 50
2, 1, 1/1/2014, 30
使用查询
SELECT Landfill, municipality, date, SUM(amount)
GROUP BY Landfill, municipality, date
到 return 聚合结果,然后在 Access 或 Excel 中转换结果。
避免数据库中未规范化的数据以允许更一般的查询。结果的表示不应成为数据库模式设计的主要考虑因素。
这也适用于任何数量的垃圾填埋场和市政当局,无需进一步更改数据库架构。
我有一个包含 9 个 table 的 MS Access 数据库。每个代表收集垃圾的垃圾填埋场。 这些 table 包含几个字段,主键是日期,其余字段是几个市政当局发送到每个垃圾填埋场的垃圾吨数。 例如,对于 table 垃圾填埋场 1:
日期自治市 1 自治市 2
1/1/2014 50 吨 30 吨
我要创建的查询是找出每个市政当局在特定日期向所有垃圾填埋场发送了多少吨垃圾。 代码应该是这样的
SELECT Landfill_1.municipality_1, Landfill_2.municipality_1,...,Landfill_10.municipality_1
FROM Landfill_1.date INNER JOIN Landfill_2.date ,..., INNER JOIN Landfill_10.date
WHERE Landfill_1.date=[Please select the date:];
我的问题是市政当局 1 应该是一个变量 这样我就不必每次都更改它。
将来自所有 table 的数据附加到一个 table 并添加字段:MunicipalityId。用 1 到 9 填入 table 记录来源。
在复合唯一索引中使用此字段和日期字段。
现在您只需要一个查询。
逆透视源数据。在每一行中仅记录一组变量,并将市政当局和垃圾填埋场标识符合并到键中。
Landfill, municipality, date, amount
1, 1, 1/1/2014, 50
2, 1, 1/1/2014, 30
使用查询
SELECT Landfill, municipality, date, SUM(amount)
GROUP BY Landfill, municipality, date
到 return 聚合结果,然后在 Access 或 Excel 中转换结果。
避免数据库中未规范化的数据以允许更一般的查询。结果的表示不应成为数据库模式设计的主要考虑因素。
这也适用于任何数量的垃圾填埋场和市政当局,无需进一步更改数据库架构。