将重复行数据导入派生列
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 :
- 第一个数据流从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
我有一个 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 :
- 第一个数据流从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