SQL 服务器:导入 Excel 并将列名和值放入 table
SQL Server : import Excel and place column name and the value in table
我有一个 Excel 文件需要导入到 SQL 服务器。
Excel sheet:
Product
202147
202148
202149
Prod-A
15
10
11
Prod-B
7
18
16
这需要读入 SQL 服务器 table MyData
:
YearWeek
Product
Value
202147
Prod-A
15
202147
Prod-B
7
202148
Prod-A
10
202148
Prod-B
18
202149
Prod-A
11
202149
Prod-B
16
如何在 SSIS 导入中执行此操作?
您不能直接在 SSIS 导入时执行此操作。另一方面,您可以在 table 上导入 excel,然后 运行 以下 sql 查询来实现您的目标:
select yearWeek, product, value
from myData
unpivot (value for yearWeek in ([202147], [202148], [202149])) up
order by 1,2
-- Result
/*
yearWeek product value
202147 Prod-A 15
202147 Prod-B 7
202148 Prod-A 10
202148 Prod-B 18
202149 Prod-A 11
202149 Prod-B 16
*/
我有一个 Excel 文件需要导入到 SQL 服务器。
Excel sheet:
Product | 202147 | 202148 | 202149 |
---|---|---|---|
Prod-A | 15 | 10 | 11 |
Prod-B | 7 | 18 | 16 |
这需要读入 SQL 服务器 table MyData
:
YearWeek | Product | Value |
---|---|---|
202147 | Prod-A | 15 |
202147 | Prod-B | 7 |
202148 | Prod-A | 10 |
202148 | Prod-B | 18 |
202149 | Prod-A | 11 |
202149 | Prod-B | 16 |
如何在 SSIS 导入中执行此操作?
您不能直接在 SSIS 导入时执行此操作。另一方面,您可以在 table 上导入 excel,然后 运行 以下 sql 查询来实现您的目标:
select yearWeek, product, value
from myData
unpivot (value for yearWeek in ([202147], [202148], [202149])) up
order by 1,2
-- Result
/*
yearWeek product value
202147 Prod-A 15
202147 Prod-B 7
202148 Prod-A 10
202148 Prod-B 18
202149 Prod-A 11
202149 Prod-B 16
*/