这是我的问题:
这是目前的结果:
| Name | Alias | Role | mark mak User mark mak Admin
这是想要的结果:
| Name | Alias | Role | mark mak User, Admin
这可以用SQL(现在使用Oracle和Java EE / JPA / Hibernate)吗?
答案 0 :(得分:3)
GROUP_CONCAT
是一个MySQL函数。
以下是Oracle的SQL:
SELECT Name, LISTAGG(Role, ',') WITHIN GROUP (ORDER BY Role) AS Roles
FROM Your_Table
GROUP BY Name;
答案 1 :(得分:0)
正如类似问题所述,以下Oracle Base文章对此进行了深入介绍:http://www.oracle-base.com/articles/misc/StringAggregationTechniques.php
简而言之,您可以使用LISTAGG
函数或WM_CONCAT
函数,具体取决于您运行的Oracle版本。