Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Wed 09 June 2021 11:53

Tan85
Participant occasionnel
Date d'inscription: 20 Sep 2019
Messages: 23

Comment supprimer les doublons 'texte' dans un champ

Bonjour,
j'ai fais un

Code:

string_agg(c.nom_com, ' ; ')

afin d'avoir la liste des communes sur lesquelles se trouvent mes polygones, mais comme mes entités sont composées de plusieurs polygones je me retrouve avec des répétition, comme dans l'exemple ci-dessous :

Code:

communes
ALIXAN ; CHATEAUNEUF-SUR-ISERE ; ALIXAN ; CHATEAUNEUF-SUR-ISERE
PORTES-LES-VALENCE ; VALENCE ; PORTES-LES-VALENCE ; VALENCE
BOURG-DE-PEAGE ; BOURG-DE-PEAGE ; CHATEAUNEUF-SUR-ISERE
....

Quelques suggestions pour enlever ces doublons ? Un traitement de texte PostgreSQL?

Merci beaucoup pour votre aide.
Bien cordialement

Hors ligne

 

#2 Wed 09 June 2021 13:36

tumasgiu
Membre
Lieu: Ajaccio
Date d'inscription: 5 Jul 2010
Messages: 1132

Re: Comment supprimer les doublons 'texte' dans un champ

Salut,

Code:

SELECT string_agg(DISTINCT c.nom_com, ' ; ')
FROM communes c

Vous pouvez utiliser le mot clef DISTINCT dans toutes les fonctions d'agrétats.
Vous avez aussi la possibilité d'utiliser ORDER BY pour ordonner les valeurs agrégées par la fonction.

Vous auriez pu vous en sortir aussi comme suit :

Code:

SELECT string_agg(foo.nom_com, ' ; ')
FROM
 (SELECT DISTINCT nom_com
  FROM communes) AS foo

Dernière modification par tumasgiu (Wed 09 June 2021 16:47)

Hors ligne

 

Pied de page des forums

Powered by FluxBB