【发布时间】:2014-07-14 20:41:20
【问题描述】:
我在 MS Access 中有一个查询,它从 4 个不同的表中提取,它显示一个 ID(这在 4 个表中是通用的)和 4 个总计字段,一个是实际总计,另一个是预测总计等
因此,每条记录显示如下内容:
ID | TotalActual | TotalForecast | TotalRR | TotalBudget
234518 | 90.10 | 150.98 | 152.31 | 149.0
有没有办法分割这条记录,所以它显示如下:
Type | ID | Total |
Actual | 234518 | 90.10 |
Forecast | 234518 | 150.98 |
RR | 234518 | 152.31 |
Budget | 234518 | 149.0 |
我不想建立联合,因为数据需要能够每天刷新/更新,而且我知道当表/查询发生变化时联合不会更新
【问题讨论】:
-
I know that unions do not update when there are changes in the table/query恐怕这是一个虚假陈述,请解释一下您的意思 -
如果表/查询发生变化,它不会自动出现在联合查询中,我必须再次运行联合查询才能使更新出现。使用常规查询时,对表的更改将自动显示
-
如果你指的是数据的变化,它是假的,你总是会看到实际的数据。如果您引用架构或表结构的更改(更改列名),即使使用 UNION 也不会起作用。
-
support.microsoft.com/kb/328828 这比我解释得更好
-
如果您的意思是计算字段,那么可以,您也可以在 UNION 查询中使用这些字段(在每个单独的 SELECT 查询中被 UNIONed 一起)。他们所说的“您无法在 [UNION] 查询中更新数据”的意思是,例如,如果您在数据表视图中打开 UNION 查询,则您无法在网格中键入新值来更新基础表。但是,您可以直接更新基础表,然后刷新 UNION 查询的结果(例如,通过点击 [F5])以查看更新后的值。
标签: sql ms-access ms-access-2007 ms-access-2010