Forum Programmation.SQL Comment générer plusieurs tuples à partir d'un seul

Posté par  .
Étiquettes : aucune
0
6
jan.
2006
Bonjour à tous et mes meilleurs voeux pour 2k6,

Mon voeu à moi (#2006-00000000001 :-) serait de pouvoir générer
via une vue une liste de lignes pour chaque date comprise dans un
intervalle.

J'ai une table d'absences:
-id_seq
-id_gugusse
-date_debut
-date_fin

Je souhaiterais arriver à une vue me renvoyant l'id de la personne
et un champ "jour" mais ayant autant de lignes que de jours
d'intervalle entre les 2 dates: si la fourchette est du 6/1 au 8/1, la
vue devrait me renvoyer pers/6, pers/7 et pers/8.

J'utilise Postgres 7.4 et j'ai essayé via une fonction qui me génère un
"setof date" à partir d'une fourchette en arguments mais je ne peux
pas l'utiliser dans le "from" sans y mettre des constantes sinon j'ai
une erreur: "L'expression de la fonction du FROM pourrait ne pas référer à d'autres relations sur le même niveau de la requête".
(Notez l'emploi du conditionnel au passage :-)

Y'aurait-il un autre moyen ? (dois-je préciser que je ne peux pas
modifier la tronche de la table...).
  • # vue intermédiaire ?

    Posté par  . Évalué à 2.

    Si tu arrives à créer une vue qui contienne la liste triée des dates entre tes bornes, c'est gagné.

    La première vue ferait un truc du genre "select set_of_date (...) from ..." qui te cracherait toutes tes dates dans l'ordre et la deuxième ferait une jointure entre ta table et la vue de dates.

    bonne année aussi :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.