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 :

Recherche Dates antérieures ou égal à NOW


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 52
    Par défaut Recherche Dates antérieures ou égal à NOW
    Bonjour à tous,

    j'ai un petit problème avec une requête.
    Je gère des véhicules (poids lourd), à savoir leur dates de contrôle d'extincteurs, test antipollution, limiteur de vitesse, tachygraph etc.

    Je désire afficher les véhicules dont une ou plusieurs dates sont plus petit (<) ou egal (=) à mois et année en cours.

    Ma requête est la suivante mais ne fonctionne pas ....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT * FROM vehicules WHERE
    MONTH(Antipoll) <= MONTH(NOW()) AND YEAR(Antipoll) <=YEAR(NOW())
    OR
    MONTH(Limiteur) <= MONTH(NOW()) AND YEAR(Limiteur) <=YEAR(NOW())
    OR
    MONTH(Tachygraphe) <= MONTH(NOW()) AND YEAR(Tachygraphe) <=YEAR(NOW())
    OR
    ....
    Je désire donc afficher le véhicule, même si il n'y a que une seule date qui est <= .....
    Mais SQL me retourne toujours une erreur "près de OR ..."

    Quelqu'un aurait-il une idée ?
    D'avance merci.
    Salutations.

  2. #2
    Membre émérite Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Par défaut
    essaye comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT * FROM vehicules 
    WHERE
    (MONTH(Antipoll) <= (MONTH(NOW()) 
    AND YEAR(Antipoll) <=YEAR(NOW())
    )OR
    (MONTH(Limiteur) <= (MONTH(NOW()) 
    AND YEAR(Limiteur) <=YEAR(NOW())
    )OR
    (MONTH(Tachygraphe) <= MONTH(NOW()) 
    AND YEAR(Tachygraphe) <=YEAR(NOW())
    )

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 52
    Par défaut
    , merci pour le bout de code, mais ça n'a pas l'air de vouloir fonctionner...
    il me parle de limit du résultat mais je ne comprends pas trop l'erreur...
    désolé, suis pas doué en php/sql, je débute...
    voici l'erreur
    Error

    SQL query: Documentation

    SELECT *
    FROM vehicules
    WHERE (
    MONTH( Antipoll ) <= ( MONTH( NOW( ) )
    AND YEAR( Antipoll ) <= YEAR( NOW( ) ) )
    OR (
    MONTH( Extincteur ) <= ( MONTH( NOW( ) )
    AND YEAR( Extincteur ) <= YEAR( NOW( ) ) )
    OR (
    MONTH( Licence ) <= MONTH( NOW( ) )
    AND YEAR( Licence ) <= YEAR( NOW( ) )
    )
    OR (
    MONTH( CarteVerte ) <= MONTH( NOW( ) )
    AND YEAR( CarteVerte ) <= YEAR( NOW( ) )
    )
    OR (
    MONTH( Limiteur ) <= MONTH( NOW( ) )
    AND YEAR( Limiteur ) <= YEAR( NOW( ) )
    )
    OR (
    MONTH( Tachygraphe ) <= MONTH( NOW( ) )
    AND YEAR( Tachygraphe ) <= YEAR( NOW( ) )
    )
    LIMIT 0 , 30

    MySQL said: Documentation
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 0, 30' at line 2

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 52
    Par défaut
    Bonjour à tous,

    ça fonctionne j'ai fais avec le code comme suit.
    merci pour votre aide.
    salutations

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    SELECT [...]
    FROM vehicules
    WHERE 
            (
                    MONTH( Antipoll ) <=  MONTH( NOW( ) )
                    AND 
                    YEAR( Antipoll ) <= YEAR( NOW( ) ) 
            )
            OR 
            (
                    MONTH( Extincteur ) <=  MONTH( NOW( ) )
                    AND 
                    YEAR( Extincteur ) <= YEAR( NOW( ) ) 
            )
            OR 
            (       
                    MONTH( Licence ) <= MONTH( NOW( ) )
                    AND 
                    YEAR( Licence ) <= YEAR( NOW( ) )
            )
            OR 
            (
                    MONTH( CarteVerte ) <= MONTH( NOW( ) )
                    AND 
                    YEAR( CarteVerte ) <= YEAR( NOW( ) )
            )
            OR 
            (
                    MONTH( Limiteur ) <= MONTH( NOW( ) )
                    AND 
                    YEAR( Limiteur ) <= YEAR( NOW( ) )
            )
            OR 
            (
                    MONTH( Tachygraphe ) <= MONTH( NOW( ) )
                    AND 
                    YEAR( Tachygraphe ) <= YEAR( NOW( ) )
            )
    LIMIT 30;

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

Discussions similaires

  1. Outlook 2000 -> recherche date échéance dépassée
    Par petitsims dans le forum Outlook
    Réponses: 4
    Dernier message: 06/11/2006, 19h56
  2. Réponses: 4
    Dernier message: 23/01/2006, 10h13
  3. [D6 FB 1.5] Retrouver les dates antérieures à une autre
    Par Lucien dans le forum Bases de données
    Réponses: 4
    Dernier message: 20/01/2006, 09h28
  4. [MFC] Date antérieure à 1752
    Par Nicolas Bauland dans le forum MFC
    Réponses: 2
    Dernier message: 17/12/2004, 23h16
  5. recherche Date nulle dans une table
    Par lol_adele dans le forum Bases de données
    Réponses: 6
    Dernier message: 16/04/2004, 14h06

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