使用MS-ACCESS 2010中的VARYING列重组/规范化表

时间:2017-02-17 15:17:01

标签: sql access-vba ms-access-2010 database-normalization

我在MS ACCESS 2010中面临以下问题。

我有一个(或很多)表A看起来像这样:

 F1  | F2   | F3   | ... | F?
-------------------------------
     | B005 | B005 | ... | B345
     | C235 | C255 | ... | C235
A123 | 12.3 | 27.4 | ... | 87.0
A276 | 34.8 |  7.2 | ... | 42.0
...  |  ... |  ... | ... |  ...
A876 | 91.2 | 13.3 | ... |  0.1

所以顶部有两行,左边有一列包含键值。

我需要实现这样的数据表示(更规范化?):

 K1  | K2   | K3   | Data
-------------------------
A123 | B005 | C235 | 12.3
A123 | B005 | B255 | 27.4
A123 | B345 | C235 | 87.0
A276 | B005 | C235 | 34.8
         .  .  .
A876 | B345 | C235 |  0.1

搜索解决方案提出了UNPIVOT(不能与ACCESS一起使用?)和许多UNIONs(用于模拟UNPIVOT)。 然而,问题是表A中的列总数及其名称不是事先知道的(或者对于不同的表而言不是常量作为输入)。 我怎么处理这个?

感谢您的建议。

0 个答案:

没有答案