转换 Access 表中的范围数据

发布于 2024-11-09 17:48:13 字数 939 浏览 1 评论 0原文

我在 Access 数据库中有一个表,如下所示;

Name | Range   | X  | Y  | Z
------------------------------
A    | 100-200 | 1  | 2  | 3
A    | 200-300 | 4  | 5  | 6
B    | 100-200 | 10 | 11 | 12
B    | 200-300 | 13 | 14 | 15
C    | 200-300 | 16 | 17 | 18
C    | 300-400 | 19 | 20 | 21

我尝试编写一个查询,将其转换为以下格式。

Name | X_100_200 | Y_100_200 | Z_100_200 | X_200_300 | Y_200_300 | Z_200_300 | X_300_400 | Y_300_400 | Z_300_400 
A    | 1         | 2         | 3         | 4         | 5         | 6         |           |           | 
B    | 10        | 11        | 12        | 13        | 14        | 15        |           |           |
C    |           |           |           | 16        | 17        | 18        | 19        | 20        | 21

经过一段时间的尝试后,我能想到的最好方法是编写一堆简短的查询,为每个范围选择数据,然后使用联合查询将它们再次组合在一起。问题是,在这个例子中,我显示了 3 列(X、Y 和 Z),但实际上我有更多列。由于我提出的 SQL 数量过多,Access 开始变得紧张。

有更好的方法来实现这一目标吗?

I have a table in Access database as below;

Name | Range   | X  | Y  | Z
------------------------------
A    | 100-200 | 1  | 2  | 3
A    | 200-300 | 4  | 5  | 6
B    | 100-200 | 10 | 11 | 12
B    | 200-300 | 13 | 14 | 15
C    | 200-300 | 16 | 17 | 18
C    | 300-400 | 19 | 20 | 21

I have trying write a query that convert this into the following format.

Name | X_100_200 | Y_100_200 | Z_100_200 | X_200_300 | Y_200_300 | Z_200_300 | X_300_400 | Y_300_400 | Z_300_400 
A    | 1         | 2         | 3         | 4         | 5         | 6         |           |           | 
B    | 10        | 11        | 12        | 13        | 14        | 15        |           |           |
C    |           |           |           | 16        | 17        | 18        | 19        | 20        | 21

After trying for a while the best method I could come-up with is to write bunch of short queries that selects the data for each Range and then put them together again using a Union query. The problem is that for this example I have shown 3 columns (X, Y and Z), but I actually have much more. Access is starting to strain with the amount of SQL I have come up with.

Is there a better way to achieve this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

最初的梦 2024-11-16 17:48:13

答案很简单。只需使用 Access Pivotview。但发现很难将结果导出到 Excel。

The answer was simple. Just use Access Pivotview. Finding it hard to export the results to Excel though.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文