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

Langage SQL Discussion :

Grouper par mois à l'aide de EXTRACT


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 13
    Points : 11
    Points
    11
    Par défaut Grouper par mois à l'aide de EXTRACT
    Bonjour,

    Je cherche actuellement à effectuer une requête qui me permettrai de grouper les résultats par mois et par clé de dossier (tout en faisant la sommes des éléments de la colonne "Etat"). Je précise que je fais ces requêtes via un agent ODBC sous Excel (J'ai vu qu'il y avait une section Excel sur le forum, mais j'estime que mon problème est plus de l'ordre du SQL).

    Je parviens pour le moment sans trop de soucis à faire ce que je souhaite, excepté le groupement par mois. Voici ma requête (fonctionnelle):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT MATABLE.CleDossier, MATABLE.DateRdv, SUM(MATABLE.Etat)
    FROM contact.MATABLE MATABLE
    WHERE (MATABLE.DateRdv>{d '2012-08-01'})
    GROUP BY DateRdv, CleDossier
    De façon assez naturelle, je souhaite utiliser la fonction month, comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT MATABLE.CleDossier, MATABLE.DateRdv, SUM(MATABLE.Etat)
    FROM contact.MATABLE MATABLE
    WHERE (MATABLE.DateRdv>{d '2012-08-01'})
    GROUP BY Month(DateRdv), CleDossier
    Erreur:
    The query returned an error (ODBC State: HY000)

    Error:
    NexusDB: : Query preparation failed:
    Syntax error at line 4 pos 10: <identifier>, <quoted_name> or <quoted_temp_name expected>: Month

    [$3CA0/15520]
    Bien cordialement.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    566
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2009
    Messages : 566
    Points : 1 045
    Points
    1 045
    Par défaut
    Bonjour,

    Je ne connais pas bien le traitement SQL avec excel.

    Tu peux toujours faire un essai avec le code ci-après
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT MATABLE.CleDossier, Month(MATABLE.DateRdv) AS vMois, SUM(MATABLE.Etat)
    FROM contact.MATABLE MATABLE
    WHERE (MATABLE.DateRdv>{d '2012-08-01'})
    GROUP BY Month(DateRdv), CleDossier
    Modification en rouge

    A+

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    Merci pour cette première tentative de résolution. Je viens d'essayer la proposition de seabs.

    J'obtiens l'erreur suivante:

    The query returned an error (ODBC State: HY000)

    Error:
    NexusDB: <unnamed TnxODBCQuery instance>: Query preparation failed:
    Syntax error at line 1 pos 27: '-', '(', '*', ':', '?', <bracketed_binary_string_literal>, <character_string_literal>, <float_literal>, <identifier>, <integer_literal>, <quoted_name>, <quoted_temp_name>, AVG, CASE, CAST, CHAR_LENGTH, CHARACTER_LENGTH, COALESCE, CONTAINS, COUNT, DATE, EXISTS, EXTRACT, FALSE, GUID, INTERVAL, LIST, MAX, MED, MIN, 'N', NOT, NULL, NULLIF, OCTET_LENGTH, P
    Edit: Je suis allé voir sur les forums de NexusDB (la base de donnée que j'utilise). Apparamment on ne peut pas utiliser d'expressions dans un GROUP BY (les développeurs n'ont pas jugé cela util... ).

    Standard SQL doesn't allow expressions in the GROUP BY clause.
    Il faut donc que je me débrouille avec le mot clé "EXTRACT". Si vous avez une solution, je suis preneur. Je continue à faire quelques essais de mon coté.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    566
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2009
    Messages : 566
    Points : 1 045
    Points
    1 045
    Par défaut
    Bonjour,

    Si la fonction EXTRACT existe, il doit être possible de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT MATABLE.CleDossier, EXTRACT(MONTH FROM MATABLE.DateRdv) AS vMois, SUM(MATABLE.Etat)
    FROM contact.MATABLE MATABLE
    WHERE (MATABLE.DateRdv>{d '2012-08-01'})
    GROUP BY EXTRACT(MONTH FROM MATABLE.DateRdv), CleDossier
    A+

  5. #5
    Membre expérimenté
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Points : 1 717
    Points
    1 717
    Billets dans le blog
    6
    Par défaut
    pourquoi mettre la requete dans Excel, je te conseille de créer une vue et tu fais l'appeller dans excel avec un simple select.
    d'avoir Pensé à voter positivement pour ceux qui vous ont aidés et surtout à mettre si le cas.
    ça encourage.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Merci seabs, ça fonctionne bien comme celà .
    @islamov2000: Certes, mais je n'ai pas la possibilité de créer des vues.

    Je mets le sujet en résolu. Merci !

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

Discussions similaires

  1. Grouper Par Mois, Site, en fonction Statut
    Par babouba dans le forum Langage SQL
    Réponses: 9
    Dernier message: 11/01/2013, 16h48
  2. grouper par mois un timestamp
    Par broule dans le forum Requêtes
    Réponses: 1
    Dernier message: 13/09/2010, 17h23
  3. grouper par mois dans une listview
    Par superkiller dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 24/01/2010, 15h25
  4. [Interbase] selectionner et grouper par mois ?
    Par makaphrodite dans le forum Langage SQL
    Réponses: 8
    Dernier message: 04/11/2008, 16h20
  5. [MySQL] Grouper par mois
    Par Friedrick dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 17/09/2008, 16h57

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