以下是一些背景信息,以防万一有不同/更好的方法来解决我的问题。
我有一个我从Access导出到电子表格的查询。导出的数据是一个透视查询导出,我把它传递给另一个已更新表并将其传递给我的工作人员。此外,底层数据实际上是来自SQL 2005的链接表。我提到这是因为我不害怕我们SQL Server更新这些数据,但由于导出源自Access,我认为最好更新它来自他们。
这是表数据和导出结构的基础知识:I
Data Table
==========
PK_1 PK_2 VALUE
------------------------------
G1 SG1 .33
G1 SG2 .44
...
G2 SG1 .33
G2 SG2 .44
...
G3 SG1 .33
G3 SG2 .44
...
..这就是导出的数据在Excel中的样子。
Pivot Data Exported to Excel
============================
G1 G2 ...
SG1 .33 .33 ...
SG2 .44 .44 ...
SG3 .55 .55 ...
... ... ... ...
我的问题是如何将更新的电子表格数据移植到需要更新的数据表中? Access中是否有一个unpivot操作,可能是导入过程的一部分?
答案 0 :(得分:1)
MS Access没有UNPIVOT,但您可以通过多个UNION查询来执行此操作
http://www.access-programmers.co.uk/forums/showthread.php?t=204468
How to convert fields into rows through SQL in MS Access 2007 or MS SQL Server 2005
以下是您的数据示例:
SELECT PK_2, "G1" as "PK_1", G1 as [Value]
FROM Table
UNION
SELECT PK_2, "G2" as "PK_1", G2 as [Value]
FROM Table