Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 将数据从电子表格中解压到数据表中_Sql_Sql Server_Sql Server 2005_Ms Access_Import - Fatal编程技术网

Sql 将数据从电子表格中解压到数据表中

Sql 将数据从电子表格中解压到数据表中,sql,sql-server,sql-server-2005,ms-access,import,Sql,Sql Server,Sql Server 2005,Ms Access,Import,这里有一点背景知识,以防有不同/更好的方法来解决我的问题 我有一个从Access导出到电子表格的查询。导出的数据是一个pivot查询导出,我将其传递给另一个工作人员,后者更新了表并将其传递回我。此外,底层数据实际上是SQL2005中的一个链接表。我之所以提到这一点,是因为我不怕我们SQL Server更新这些数据,但由于导出源于Access,所以我认为最好从他们的数据库更新它 这是表数据和导出结构的基础:I Data Table ========== PK_1 PK_2 VA

这里有一点背景知识,以防有不同/更好的方法来解决我的问题

我有一个从Access导出到电子表格的查询。导出的数据是一个pivot查询导出,我将其传递给另一个工作人员,后者更新了表并将其传递回我。此外,底层数据实际上是SQL2005中的一个链接表。我之所以提到这一点,是因为我不怕我们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中是否有取消PIVOT操作,可能是导入过程的一部分?

MS Access没有取消PIVOT操作,但您可以通过多个联合查询来执行此操作

以下是您的数据示例:

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

谢谢你简单的回答。我对你的两个答案都有所了解,但我不确定是否还有其他方法可以实现这一目标。我想我最好的选择是第一个。