表1 :
Columns PK_Table1 Name | DoYouGoToSchool |DoYouhaveACar |DoYouWorkFullTime | DoYouWorkPartTime | Score
1 joe Yes Yes No Yes
2 amy No Yes Yes No
如何将其转换并插入具有唯一ID的新Table2(PK_table1映射到FK_Table1)
表2中的预期结果,我正在寻找的是 FK_Tablel1 维持与Table1的关系
正如您所看到的,结果遵循Pivoted Columns行,并保持将FK&#39插入表中的PK-FK关系。
以下是我正在玩的查询:
create table #Table1
(
PK_Table1 int IDENTITY,
Name Varchar(50),
DoYouGoToSchool Varchar(8),
DoYouhaveACar Varchar(8),
DoYouWorkFullTime Varchar(8),
DoYouWorkPartTime Varchar(8),
Score int null,
)
create table #Table2
(
PK_Table2 int IDENTITY,
FK_Table1 int null,
Questions Varchar(50),
Answer Varchar(8)
)
INSERT INTO #Table1 (Name, DoYouGoToSchool, DoYouhaveACar, DoYouWorkFullTime, DoYouWorkPartTime)
VALUES ('joe', 'Yes', 'Yes', 'No', 'Yes'),
('amy', 'NO', 'Yes', 'Yes', 'No')
答案 0 :(得分:0)
我们也可以使用UnPivot
INSERT INTO #Table2 (FK_Table1, Questions, Answer)
SELECT PK_Table1 AS FK_Table1
,Questions
,Answers
FROM #Table1 t
UNPIVOT
(
Answers FOR Questions IN ([DoYouGoToSchool],[DoYouhaveACar],[DoYouWorkFullTime],[DoYouWorkPartTime])
) AS unpvt
WHERE PK_Table1<3