我想知道是否可以在Oracle 11g中将某些行显示为列。Oracle SQL - 行插入列
我想下面
id language text
--------------------------
1 english some example
1 german an example
2 english test
2 german test123
要显示这样的:
id english german
---------------------------------
1 some example an example
2 test test123
我尝试使用pivot
但无法弄清楚如何正确处理它,因为pivot
要求一个聚合函数。
这是整点... PIVOT本身就是一个聚集函数;它通常在没有聚合的情况下使用(只有一个值需要旋转),然后可以使用'max()'或'min()',因为vkp在他的解决方案中已经显示出来。 PIVOT不是为转置表而创建的;它是为了在“文本”列中可能有数字(美元数量等)的情况而创建的,每个“id” - “language”组合中有多行,并且将使用pivoting来将这些数字加起来,或者找到平均等等。所以 - 当你使用PIVOT来转置表时,你仍然必须使用'max()'或'min()'。 – mathguy