【发布时间】:2019-04-15 20:26:28
【问题描述】:
我有一个这样的表,它存储这样的类。以这种方式列出的可能有 30 个类。类名称的一些示例包括“Blood Borne Safety”、“CPR Training”、“Fork Lift”。
Name | Class1 | Class1TrainerName | Class2 | Class2TrainerName
------|---------------|---------------------|-----------|---------------
Scott | 3/28/2017 | Casey | 4/19/2017 | David
Jim | | | 2/9/2019 | David
我想把它变成这样。
Name | ClassName | ClassDate | Trainer |
--------|--------------|-------------|----------|
Scott | Class1 | 3/28/2017 | Casey |
Scott | Class2 | 4/19/2017 | David |
Jim | Class2 | 2/9/2019 | David |
如何将 table1 转换为 table2 的数据?
【问题讨论】:
-
SO 不是代码编写服务,您需要向我们展示您的尝试。
-
你可以看看 UNPIVOT
-
Class3、Class4、..等列还有吗?
-
然后编辑您的问题以提及这一点。
-
我只是希望你的任务是修复这个桌子设计。那是丑陋的。这里增加的复杂性是您甚至不能使用标准的 UNPIVOT,因为对于某些列,列名是数据,而在其他列中,它仍然是列名。
标签: sql sql-server data-conversion