我是一名SQL初学者,并且有一个问题。我有用户数据的表像这样SQL Server从表中获取行并显示在列中
uid nid val
+---+---+---+
| 1 | x | 3 |
+---+---+---+
| 2 | x | 3 |
+---+---+---+
| 3 | x | 3 |
+---+---+---+
| 1 | y | 4 |
+---+---+---+
| 2 | y | 4 |
+---+---+---+
| 3 | y | 4 |
+---+---+---+
| 1 | z | 5 |
+---+---+---+
其中uid是用户ID,NID是用于标识值的名称ID val是实际值。
我想编写一个查询其给出以下结果
uid x y z
+---+---+---+---+
| 1 | 3 | 4 | 5 |
+---+---+---+---+
| 2 | 3 | 4 | 0 |
+---+---+---+---+
| 3 | 3 | 4 | 0 |
+---+---+---+---+
是否有功能或可以从多个行读取数据,并把它列报表?
阅读有关'PIVOT'或*有条件聚集* – Shnugo