Convertir le résultat de la sous-requête en tableau

Convertir le résultat de la sous-requête en tableau

Je veux que les résultats de ma sous-requête (plusieurs lignes) soient renvoyés sous forme de ligne unique dans ma requête. Par exemple.

select u.url, (select c.categoryid from category c
where c.categoryid = u.categoryid) from url u

Si l'url contient plusieurs catégories, la sous-requête renverra plusieurs lignes comme suit:
P.S La sous-requête renvoie plusieurs lignes n'est pas prise en charge dans la plupart des bases de données mais PostgreSQL

url | categoryid
---------------------
1   |  1
1   |  2
2   |  1

Le résultat que je voulais est le suivant

url | categoryid
---------------------
1   |  1,2
2   |  1

Je ne sais pas à quel point cela peut être facile dans d’autres bases de données comme oracle ou mysql, mais PostgreSQL a fourni le type de données Array, en utilisant array, il est très facile d’obtenir ce que je veux. Je dois changer ma requête en

select u.url, (select array(select c.categoryid from category c
where c.categoryid = u.categoryid))as categoryid from url u

Résultat ~

url | categoryid
---------------------
1   |  {1,2}
2   |  1

Terminé ~ PostgreSQL Array Rock ~