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 :

Problème d'élaboration de la requête


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 20
    Points : 12
    Points
    12
    Par défaut Problème d'élaboration de la requête
    Bonjour,
    Voilà, en faite je ne sais pas comment m'y prendre, je vais essayer d'être clair.
    J'ai une table devis ou l'index est de type année-num_devis (exemple : 05-02).
    Je voudrais que ce champs s'incrémente automatiquement, et pour cela il faudrait que je fasse une requête, qui me compte le nombre de devis par rapport à l'année en cour, car il y a des devis qui date de 2003.
    C'est à dire que si les 2 premier chiffres du devis sont égale au deux dernier de l'année, il me compte les devis.
    Pour le moment j'ai écrit une requête qui évidemment ne fonctionne pas, mais là j'avoue, je ne sais pas comment faire.

    La requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT Count(DEVIS.Index_devis) AS CompteDeIndex_devis
    FROM DEVIS
    WHERE LEFT(Index_devis, 2) = Year(Select CURRENT_DATE() From DEVIS);
    Merci de votre aide

  2. #2
    Membre habitué Avatar de Original Prankster
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    226
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 226
    Points : 192
    Points
    192
    Par défaut
    Je ne sais pas sous quel SGBD tu travailles, donc je vais te dire ce que je pense :

    LEFT() te renvoie un string de 2 caractères. Tu devras donc utiliser LIKE à la place du = me semble-t-il.

    Par ailleurs, YEAR() te renvoie quoi ? un string aussi ? dans ce cas te renvoie-t-il "2005", ou "05" ? et dans le cas inverse, il te faudra au préalable changer ce que te renvoie YEAR() en string pour pouvoir faire la comparaison...
    Ingénieur Génie Logiciel et Systèmes d'Information
    Management des Nouvelles Technologies

    Ecole Supérieure d'Ingénieurs de Luminy (ESIL), Marseille

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Oui c'est vrai désolée, j'ai oublier, je suis sous access 2003.
    Pour le like c'est exact, je n'y avait pas pensé, quand à YEAR(), il renvoie 2005 (en format string) pour une date donnée, c'est à dire :
    YEAR(02/05/2003) renvoie 2003

  4. #4
    Membre habitué Avatar de Original Prankster
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    226
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 226
    Points : 192
    Points
    192
    Par défaut
    Et bien dans ce cas essaie plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Count(DEVIS.Index_devis) AS CompteDeIndex_devis
    FROM DEVIS
    WHERE LEFT(Index_devis, 2) LIKE RIGHT(YEAR(CURRENT_DATE()), 2);
    (Je pense que CURRENT_DATE() s'utilise comme ça, non ?)
    Ingénieur Génie Logiciel et Systèmes d'Information
    Management des Nouvelles Technologies

    Ecole Supérieure d'Ingénieurs de Luminy (ESIL), Marseille

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Merci pour la suggestion, mais ca nbe marche toujours pas car il ne connait pas CURRENT_DATE(). Il n'y a pas d'autres moyen de récupérer la date du jour sous une requête access?

  6. #6
    Membre habitué Avatar de Original Prankster
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    226
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 226
    Points : 192
    Points
    192
    Par défaut
    Il semblerait que la fonction now() donne la date et l'heure courantes, tandis que la fonction date() donne juste la date courante... D'après ça : http://access.developpez.com/faq/?pa...AffDateSsHeure
    Ingénieur Génie Logiciel et Systèmes d'Information
    Management des Nouvelles Technologies

    Ecole Supérieure d'Ingénieurs de Luminy (ESIL), Marseille

  7. #7
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    merci beaucoup!

  8. #8
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    merci beaucoup!

  9. #9
    Membre habitué Avatar de Original Prankster
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    226
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 226
    Points : 192
    Points
    192
    Par défaut
    ca marche ??

    et ben de rien, petite grenouille marseillaise...
    Ingénieur Génie Logiciel et Systèmes d'Information
    Management des Nouvelles Technologies

    Ecole Supérieure d'Ingénieurs de Luminy (ESIL), Marseille

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/02/2012, 11h31
  2. Réponses: 7
    Dernier message: 21/05/2007, 16h28
  3. Problème de débutant dans une requête
    Par decour dans le forum Access
    Réponses: 7
    Dernier message: 14/10/2005, 14h17
  4. Problème serveur Posgresql : recuperation anciennes requêtes
    Par petitmoosse dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 04/12/2004, 18h57
  5. problème de formulation d'une requête
    Par seiryujay dans le forum Langage SQL
    Réponses: 4
    Dernier message: 20/08/2004, 17h13

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