将重复行数据导入派生列

Import duplicate row data into a derived column

我有一个 excel table,其中我们 运行 一式两份的样本,我想将重复的 运行 的结果导入派生列,以便在我的目的地 table.

每个样本只有一行

数据可能如下所示:

ID result mean
Aa 145 146
Aa 147 146

我希望目的地看起来像这样

ID result1 result2 mean
Aa 145 147 146

关于如何解决这个问题有什么想法吗?

我想我只会生成一个导入,将重复项重定向到第二个 table 并使用视图连接 tables 和 select 重复项中的额外列table.

您可以像下面这样使用中间 SQL Table :

  1. 第一个数据流从Excel文件获取数据到中间 table :

第二个数据流到 PIVOT 重复行:

这是您的 PIVOT 查询:

CREATE TABLE StagingTable ([ID] varchar(20), Result float, Mean float)
INSERT INTO StagingTable ([ID] , Result , Mean ) VALUES ('Aa',145,146)
,('Aa',147,146)
WITH CTE AS
(
SELECT *,ROW_NUMBER() OVER(PARTITION BY [ID] ORDER BY [ID]) AS Rn FROM StagingTable
)
select 
    ID,
    MAX(case when RN = 1 then Result end) Result1,
    MAX(case when RN = 2 then Result end) Result2,
    Mean
from CTE
GROUP BY ID,Mean
ID | Result1 | Result2 | Mean
:- | ------: | ------: | ---:
Aa |     145 |     147 |  146

db<>fiddle here