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 :

Requête sql avec union et format date


Sujet :

Requêtes et SQL.

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Requête sql avec union et format date
    Bonjour,

    j'ai fait une requête sql que voici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    SELECT code, Daterep, frs, benef
    FROM Historique
    WHERE code 
    IN ( SELECT code FROM Liste WHERE période ="M")
    AND Format (Datere,"yyyy") = Format (now(),"yyyy")-1
    AND Format (Daterep,"mm") = Format (now(),"mm")-1;
     
    UNION ALL
     
    SELECT code, Daterep, frs, benef
    FROM Historique
    WHERE code 
    IN ( SELECT code from Liste FROM Liste WHERE période = "T")
    AND Format (Daterep,"yyyy") = Format (now(),"yyyy")-1
    AND Format (Daterep,"mm") = Format (now(),"mm")-3;
    et ma requête ne fonctionne pas du tout car normalement j'ai des enregistrements datant du 28/02/2011 qui devraient être renvoyé.


    Le premier SELECT est censé me ramener des tuples de ma table historisation
    étant mensuels et le second, des tuples trimestriels.

    Pouvez vous me dire pourquoi ma requête refuse de sélectionner les tuples ayant pour daterep 28/02/2011?

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 642
    Points : 34 350
    Points
    34 350
    Par défaut
    salut,
    2 choses
    - la fonction format renvoie une chaine de caractères, attention, préfère donc les fonctions Year et Month
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    SELECT code, Daterep, frs, benef
    FROM Historique
    WHERE code 
    IN ( SELECT code FROM Liste WHERE période ="M")
    AND Year(Datere) = Year(now())-1
    AND Month(Daterep) = Month(now())-1;
     
    UNION ALL
     
    SELECT code, Daterep, frs, benef
    FROM Historique
    WHERE code 
    IN ( SELECT code from Liste FROM Liste WHERE période = "T")
    AND Year(Daterep) = Year (now())-1
    AND Month (Daterep) = Month(now())-3;
    - tu gères comment si tu es au mois de janvier pour ton -1 et avant mars pour ton -3 ? Je proposerai alors plutot un dateadd global (le tout en mois)
    ou un BETWEEN

  3. #3
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 745
    Points : 57 560
    Points
    57 560
    Billets dans le blog
    42
    Par défaut
    bonjour,

    Citation Envoyé par keita00 Voir le message
    ...et ma requête ne fonctionne pas du tout car normalement j'ai des enregistrements datant du 28/02/2011 qui devraient être renvoyés...
    ... à condition que ces enregistrements aient aussi un code parmi la liste de codes avec la période="M". C'est bien le cas ?

Discussions similaires

  1. Requête SQL avec filtre de type date
    Par djasniper dans le forum Langage SQL
    Réponses: 4
    Dernier message: 11/06/2015, 08h45
  2. Requête SQL avec une condition portant sur date
    Par kekule10 dans le forum PyQt
    Réponses: 3
    Dernier message: 03/08/2014, 01h56
  3. Requête SQL avec valeur format Date
    Par delavega dans le forum ASP
    Réponses: 5
    Dernier message: 14/06/2007, 17h57
  4. Requête SQL avec date
    Par loreleï85 dans le forum VB 6 et antérieur
    Réponses: 17
    Dernier message: 12/03/2007, 14h11
  5. Requête SQL avec UNION, sum et GROUP BY
    Par Guitariff dans le forum Langage SQL
    Réponses: 6
    Dernier message: 03/12/2006, 13h48

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