IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

Tout afficher dans une requete de type "Transform .. pivot"


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 52
    Points : 40
    Points
    40
    Par défaut Tout afficher dans une requete de type "Transform .. pivot"
    Bonjour à tous.

    Ma requete suit le schéma suivant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Transform count(*)
    select typedeprojet
    from projet
    group by typedeprojet
    pivot month(datederealisation);
    Donc je compte le nombre de projets réalisés par mois selon le type de projet auquel le projet appartient.

    Cependant, imaginons qu'il n'y ait aucun projet réalisé dans un mois quelque soit le type (donc une colonne de ce mois qui devrait être égale à 0 pour tous les types de projets), alors la colonne du mois correspondant ne s'affiche pas.

    Comment faire pour que dans tous les cas, même en cas de mois "vide", ma requête affiche bien 12 mois et donc douze colonnes (en plus de celle qui affiche le type de projet)

    Merci d'avance

    Ajout : Bien j'ai trouvé une solution mais elle ne me convient pas entièrement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Transform count(*)
    select typedeprojet
    from projet
    group by typedeprojet
    pivot month(datederealisation) in (1,2,3,4,5,6,7,8,9,10,11,12);
    L'ajout du IN me permet d'afficher tous les mois ... mais imaginons que je ne veuille afficher que les mois déjà écoulés. Quelle condition dois je mettre dans le pivot ? Sous quelle forme ?

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    hé bien je testerais bien un remplacement de :


    Par

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    IN (SELECT Mois FROM TableMonths WHERE Mois <= Month(Now))

    Avec une table des mois TableMonths

    (à tester)
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 52
    Points : 40
    Points
    40
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PIVOT Month(jalons_miseenservice) In
    (select calendrier_mois from calendrier where calendrier_mois<month(now));
    J'obtiens l'erreur :
    ([ ou manquant dans l'instruction ....

    Il semblerait que le Pivot accepte difficilement les select...

    Bon, j'ai trouvé une solution "batarde" mais qui fonctionne.

    J'ai mis le in (1,2,3,4,5,6,7,8,9,10,11,12) et j'ai supprimé après par code les colonnes en trop.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Sorte de if dans une requete de type select
    Par shaun_the_sheep dans le forum Langage SQL
    Réponses: 2
    Dernier message: 27/04/2010, 17h55
  2. Quote dans une requete...
    Par Isildur dans le forum Langage SQL
    Réponses: 6
    Dernier message: 20/06/2006, 10h57
  3. Conversion de type dans une requete
    Par charleshbo dans le forum Access
    Réponses: 9
    Dernier message: 17/02/2006, 18h14
  4. Afficher le numéro de ligne dans une requete SELECT
    Par tilb dans le forum Langage SQL
    Réponses: 4
    Dernier message: 01/09/2004, 10h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo