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 MySQL Discussion :

Problème avec date_add(NOW() , INTERVAL -1 day )


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Homme Profil pro
    dba
    Inscrit en
    Décembre 2016
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Jura (Franche Comté)

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

    Informations forums :
    Inscription : Décembre 2016
    Messages : 119
    Points : 58
    Points
    58
    Par défaut Problème avec date_add(NOW() , INTERVAL -1 day )
    bonjour a tous

    j'ai une petit base montée en MYSQL utilisée pour gérer les détections RFID pour un x du personne

    j'ai besoin de récupérer le min(date_lecture) et le max(date_lectue) pour un employer x pour jour x-1

    par exemple pour aujourd’hui le colonne max(date_lecture) doit me donner la dernière transaction détecter le 29/03/2017

    alors dans le colonne max(date_lecture) j'ai eu des résultat avec la date 30/03/2017 malgré que dans mon requête j'ai mis un clause where dateLecture >date_add(NOW() ,
    INTERVAL -1 day )
    Ci joint ma requéte
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    use radioflow;
    SELECT E.matricule,min(dateLecture),max(datelecture),prenom,nom,
    case sortie_idzone 
    when 1 then 'EXTERIEUR ' 
    when 2 then 'PAUSE'
    when 3 then 'RECEPTION'
    when 4 then 'TOUR'
    when 5 then 'ATELIER'
    when 6 then 'HDD'
    when 7 then 'EXPORT'
    when 8 then 'PVE' 
    when 9  then 'VIC'
    when 10 then 'COM' END,
    case entree_idzone 
    when 1 then 'EXTERIEUR ' 
    when 2 then 'PAUSE'
    when 3 then 'RECEPTION'
    when 4 then 'TOUR'
    when 5 then 'ATELIER'
    when 6 then 'HDD'
    when 7 then 'EXPORT'
    when 8 then 'PVE' 
    when 9  then 'VIC'
    when 10 then 'COM' END
    from Transaction T inner join zone Z 
    inner join employe E ON T.Id_employe=E.idemploye
    where dateLecture >date_add(NOW() , INTERVAL -1 day ) and matricule in(select matricule from chef_Atelier)
    group by matricule
    merci pour vos aide
    Images attachées Images attachées  

  2. #2
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 378
    Points : 19 055
    Points
    19 055
    Par défaut
    Salut davidjo_20165.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select    matricule,
              max(date_lecture) as max,
              min(date_lecture) as min
        from  test
       where  date_lecture >= current_date - interval 1 day
    group by  matricule;
    Il n'est pas nécessaire de passer par la fonction "date_add" pour faire une opération sur une date.

    Il serait intéressant de nous communiquer :
    1) le descriptif des tables et en particulier si la colonne "date_lecture" est bien du type "datetime".
    2) un jeu d'essai pour un matricule donné, représentatif de votre problème.
    3) et votre problème !

    Sinon dans votre requête, il y a deux choses qui ne vont pas :
    a) pourquoi utiliser la clause "in" au lieu de faire une jointure sur la table "chef_Atelier" ?
    b) vous faites une jointure sur la table "zone" mais vous ne précisez pas les colonnes entrant dans la jointure ?

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

Discussions similaires

  1. [Batch] Problème avec commit-interval
    Par gitos dans le forum Spring
    Réponses: 2
    Dernier message: 05/10/2015, 14h39
  2. [XL-2002] Problème avec Application.OnTime Now() + TimeValue
    Par coklin dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 21/08/2009, 14h15
  3. Problème avec fonction "Now" dans clause Where
    Par moilou2 dans le forum VBA Access
    Réponses: 3
    Dernier message: 10/07/2008, 18h44
  4. [MySQL] problème avec la fonction DATE_ADD()
    Par othmane126 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 31/05/2007, 07h41
  5. [MySQL] Problème avec DATE SUB et INTERVAL
    Par psychoBob dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/01/2006, 00h36

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