我总是忙着使用SQL Pivot Table 我需要做的就是更改列数据:
Name Thing
---------- -----------------
JOE Glove
JOE Pants
JOE Hat
SUE Hat
SUE Shirt
MIKE Shoes
要分组,分隔的列:
Name Things
--------- -------------------------------------
JOE Glove | Pants | Hat
SUE Hat | Shirt
MIKE Shoes
或者更好的是,每个找到的项目都有一个“参差不齐”的列:
Name Thing0 Thing1 Thing2 Thing3
--------- ------ ------ ------ ------
JOE Glove Pants Hat
SUE Hat Shirt
MIKE Shoes
感谢您的帮助。
-Allen
答案 0 :(得分:0)
对于分隔/聚合列:
SELECT Name, listagg(Things, ' | ') WITHIN GROUP (ORDER BY Things)
FROM your_table
GROUP BY Name;
你的第二个"衣衫褴褛的权利"如果你想为每个Thing提供单独的列,那么使用PIVOT
函数使用动态sql语句使用PL / SQL可能最好地解决了这个问题。