大家好,
我不太确定如何做以下操作。我正在学习SQL,并使用SQL Server 2008 R2。请注意,虽然我可以执行所有所需的选择查询,但我没有在数据库中创建删除表的权限。
在我的数据库中,有一个名为“messages”的表。每个消息都是三个字母的代码(例如,“AAA”,“AAB”等)。每个主键可以有任意数量的消息。因此,就这个练习而言,假设该表如下:
如果相关的话,数据库还包含一个不同表中所有可能消息代码的列表。
我猜正确的答案涉及到 PIVOT,但我不太确定如何做到这一点。我找到的最接近的是这个:How to pivot table with T-SQL? 但是,(a) 我不确定如何适应我的情况和 (b) 它似乎需要创建一个新表。
提前感谢。
我不太确定如何做以下操作。我正在学习SQL,并使用SQL Server 2008 R2。请注意,虽然我可以执行所有所需的选择查询,但我没有在数据库中创建删除表的权限。
在我的数据库中,有一个名为“messages”的表。每个消息都是三个字母的代码(例如,“AAA”,“AAB”等)。每个主键可以有任意数量的消息。因此,就这个练习而言,假设该表如下:
1 AAA
1 AAB
1 AAC
2 AAA
2 CCC
我想要的输出是将水平数据转换为垂直数据,以便我可以得到这样的结果:
1 AAA AAB AAC
2 AAA CCC
如果相关的话,数据库还包含一个不同表中所有可能消息代码的列表。
我猜正确的答案涉及到 PIVOT,但我不太确定如何做到这一点。我找到的最接近的是这个:How to pivot table with T-SQL? 但是,(a) 我不确定如何适应我的情况和 (b) 它似乎需要创建一个新表。
提前感谢。