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 18/12/2014 12:24:13

infoble
Membre

Duplication de lignes selon un champ

Bonjour, je me casse la tête depuis hier sur un problème que je pensais simple et qui finalement ne l'est pas tant que ça...
J'ai une table du type :

nom | n
-------------
  a   | 2
  b   | 5
  c   | 3

et je voudrais par une requête obtenir :

a
a
b
b
b
b
b
c
c
c

Donc dupliquer chaque ligne n fois. J'ai réussi avec une requête récursive à le faire pour une ligne de la table initiale, j'ai tenté des requêtes récursives imbriquées mais sans succès...
Si quelqu'un a une idée, je veux bien de l'aide. Merci d'avance

Hors ligne

#2 18/12/2014 13:27:17

arthurr
Membre

Re : Duplication de lignes selon un champ

bonjour,

Le plus simple, à mon avis, et de passer par une procédure stockée.

Hors ligne

#3 18/12/2014 13:37:32

infoble
Membre

Re : Duplication de lignes selon un champ

Merci.
Entre temps j'ai eu une réponse par un autre biais :

SELECT     nom
FROM     LaTable
INNER JOIN generate_series(1, (SELECT MAX(n) FROM LaTable)) AS Nb(x)
    ON x <= n

J'avoue que je ne connaissais pas generate_series mais ça marche bien.

Hors ligne

Pied de page des forums