【发布时间】:2021-05-07 04:13:13
【问题描述】:
如何将表2的行数据作为列标题合并两个表?
表 1:
| id | firstname | middlename | lastname | |
|---|---|---|---|---|
| 2901 | john@io.com | john | michael | smith |
表 2:
| id | questionId | answer |
|---|---|---|
| 2901 | 1 | Toronto |
| 2901 | 2 | Canada |
| 2901 | 3 | 9991118721 |
最终结果应该是表1表头加上questionId数据作为表头,然后使用表1数据和表2答案数据作为行:
| id | firstname | middlename | lastname | 1 | 2 | 3 | |
|---|---|---|---|---|---|---|---|
| 2901 | john@io.com | john | michael | smith | Toronto | Canada | 9991118721 |
【问题讨论】:
-
看看 PIVOT/UNPIVOT 函数
-
如果您需要将列名动态地作为问题 ID 的值,则仅使用动态 SQL。我个人建议你或许重新考虑一下这是你真的“需要”这个。如果您确实真的“需要”这个,请参阅SQL Server dynamic PIVOT query?。如果您不了解解决方案,那么我也建议您重新考虑;除非您了解动态 SQL,否则您不应该使用它。
-
您需要向我们展示您的尝试。
标签: sql sql-server tsql dynamic-sql