2010-11-11 3 views
3

puis-je savoir comment je fais fusionner des tableaux selon un identifiant:postgresql texte de fusion []

Column1 Column2 
-------------------------- 
    1   {"a","b"} 
    1   {"c"} 
    2   {"d"} 
    2   {"w"} 

sortie:

Column1 Column2 
-------------------------- 
    1   {"a","b","c"} 
    2   {"d","w"} 

ont essayé array_agg mais ce n'est pas la fonction appropriée à la fusion du tableau. en utilisant la version 8.4 pour le moment.

Répondre

1
CREATE AGGREGATE array_concat(TEXT[]) (
    SFUNC = array_cat, 
    STYPE = TEXT[], 
    INITCOND = '{}' 
); 

Et en supposant que votre table est "un" et les colonnes sont affectées "n" et "t":

SELECT array_concat(t) FROM a GROUP BY n;