Il existe plusieurs méthodes pour combiner deux tableaux en un seul tableau multidimensionnel utilisant les fonctions Postgres :
Postgres 9.5 ou plus tard :
Postgres 9.4 :
Postgres 9.3 ou version antérieure :
Considérons l'exemple suivant pour Postgres 9.3 ou version antérieure :
SELECT ARRAY[a,b] AS ab FROM ( SELECT unnest('{a,b,c}'::text[]) AS a , unnest('{d,e,f}'::text[]) AS b ) x;
Résultat :
ab ------- {a,d} {b,e} {c,f}
Pour agréger l'ensemble de tableaux résultant dans un tableau à 2 dimensions, une fonction d'agrégation personnalisée appelée array_agg_mult() est nécessaire :
CREATE AGGREGATE array_agg_mult (anyarray) ( SFUNC = array_cat , STYPE = anyarray , INITCOND = '{}' );
Ensuite, utilisez-le comme suit :
SELECT array_agg_mult(ARRAY[ARRAY[a,b]]) AS ab FROM ( SELECT unnest('{a,b,c}'::text[]) AS a , unnest('{d,e,f}'::text[]) AS b ) x;
Résultat :
{{a,d},{b,e},{c,f}}
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!