PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 11/06/2014 15:08:47

Geo-x
Membre

Utilisaton de la fonction generate_series

Bonjour à tous.

Je souhaite effectuer une requête qui d'un côté me permette de sélectionner un certain nombre d'objet. Exemple :

mammouth
ortie
Pingouin

Et d'un autre faire un generate_series prenant en compte le nombre de résultat de ma requête précédente (ici 3), pour ensuite avoir un résultat du type :

1 mammouth
2 ortie
3 Pingouin

Ce que je fais actuellement, c'est que je fait :

 SELECT generate_series(1,3,1) AS "identifiant",foo.e FROM (SELECT 'mammouth'::varchar AS "e"
UNION
SELECT 'ortie'::varchar AS "e"
UNION
SELECT 'Pingouin'::varchar AS "e")foo

Mais en résultat j'ai ;

1 mammouth
1 ortie
1 Pingouin
2 mammouth
2 ortie
2 Pingouin
3 mammouth
3 ortie
3 Pingouin

Pourriez-vous m'aider à toruver une solution svp ?

Par avance merci.

Geo-x

Dernière modification par Geo-x (11/06/2014 15:10:13)

Hors ligne

#2 11/06/2014 15:45:51

Geo-x
Membre

Re : Utilisaton de la fonction generate_series

Re bonjour @ tous.

Je viens de trouver une fonction qui me permet de créer un identifiant unique dans une sélection : row_number() over()

Pour mon exemple :

SELECT row_number() OVER(ORDER BY foo.e) AS "identifiant",foo.e FROM (SELECT 'mammouth'::varchar AS "e"
UNION
SELECT 'ortie'::varchar AS "e"
UNION
SELECT 'Pingouin'::varchar AS "e")foo;

Et le tour est joué !

En espérant que ça puisse aider d'autres personnes.

@très vite.

Geo-x

Hors ligne

Pied de page des forums