在sql中转置行和列

在sql中转置行和列,sql,sql-server-2008,sql-server-2012,Sql,Sql Server 2008,Sql Server 2012,我有一张像这样的桌子 Userid. value1. value2. value3 1. 20. 10. 20 1. 10. 20. 5 2. 6. 5. 9 3. 7. 7. 0 选择时,我希望得到如下结果: Userid. 1. 1. 2. 3

我有一张像这样的桌子

Userid.   value1.   value2.    value3
1.           20.        10.      20
1.           10.         20.      5
2.           6.           5.        9
3.            7.          7.         0
选择时,我希望得到如下结果:

Userid.   1.      1.      2.       3
Value1.   20.    10.   6.       7
Value2.   10.     20.  5.      7
Value3.    20.    5      9.     0

根据选择条件,该表将没有n行,如何实现这一点。对于特定的行id,我有多个条目,因此我如何处理它

请格式化您的表数据,我不知道您有什么以及您想要实现什么。您使用的是SQL Server 2008还是SQL Server 2012?不要为这两个添加标签。如果您使用2012,最多可以包括和。您正在寻找PIVOT或UNPIVOT@RahulTripathi奇怪的是,即使我知道这一点,只是通过阅读这个网站的功能。。。我从来不知道也没用过这个奇怪的是,如果你用谷歌搜索“sql transpose”,关于PIVOT的问题是你得到的第一个结果。