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 :

Requête SQL sur date


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Responsable logistique
    Inscrit en
    Mars 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable logistique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2018
    Messages : 13
    Par défaut Requête SQL sur date
    Bonjour,

    Je travaille sur PHARMA, un logiciel de gestion de stock pour une pharmacie.
    J'aimerais procéder à une requête SQL sur le logiciel qui est de récupérer un nombre d'informations sur les produits qui ont une date de commande inférieur de 3 jours à la date du jour.
    J'ai ça pour le moment mais cela ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT PRCLEUNIK "code pharma", PRNOM "libellé", FOURNIS "fournisseur", STOCK "stock",STOCKMINI "stock mini", STOCKOPTI "stock opti", QTECMDEPR "quantité commandée", 
    DATECMDEPR "date dernière commande", NUMDERCMD "numéro dernière commande"FROM PRODUIT WHERE QTECMDEPR>0 AND TYPEPDT=1 AND DATECMDEPR < DATE_SUB(CURRENT_DATE,INTERVAL'3'DAY).
    Il me met une erreur sur la dernière partie DATE_SUB(CURRENT_DATE,INTERVAL'3'DAY).

    Quelqu'un peut il m'aiguiller ?

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 136
    Par défaut
    Citation Envoyé par Siocnarfus Voir le message
    Il me met une erreur sur la dernière partie DATE_SUB(CURRENT_DATE,INTERVAL'3'DAY).
    Quelle erreur ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre averti
    Homme Profil pro
    Responsable logistique
    Inscrit en
    Mars 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable logistique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2018
    Messages : 13
    Par défaut
    Bonjour,

    Il stipule comme erreur : DATE_SUB "identificateur non valide"
    Le code fonctionne jusque typepdt=1 puis nous avons rajouté la suite et cela ne fonctionne plus.

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 136
    Par défaut
    Quelle est la version de MySQL ?
    Et en l'écrivant ainsi, est-ce que ça passe ? DATE_SUB(CURRENT_DATE(), INTERVAL 3 DAY)
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Membre averti
    Homme Profil pro
    Responsable logistique
    Inscrit en
    Mars 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable logistique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2018
    Messages : 13
    Par défaut
    Il me met erreur : parenthèse de droite absente.

  6. #6
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 898
    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 898
    Par défaut
    Salut Siocnarfus.

    Citation Envoyé par Siocnarfus
    Je travaille sur PHARMA, un logiciel de gestion de stock pour une pharmacie.
    Croyez-vous que nous sommes spécialisés dans tous les logiciels qui existent sur le marché ?

    Est-ce que ce logiciel utilise MySql ?
    Je dis cela à tout hasard car vous êtes dans le forum consacré à MySql.

    Vous pourriez mettre votre requête en forme, histoire de la rendre lisible !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT  PRCLEUNIK  as "code pharma",
            PRNOM      as "libellé",
            FOURNIS    as "fournisseur",
            STOCK      as "stock",
            STOCKMINI  as "stock mini",
            STOCKOPTI  as "stock opti",
            QTECMDEPR  as "quantité commandée",
            DATECMDEPR as "date dernière commande",
            NUMDERCMD  as "numéro dernière commande"
      FROM  PRODUIT
     WHERE  QTECMDEPR  > 0
       AND  TYPEPDT    = 1
       AND  DATECMDEPR < DATE_SUB(CURRENT_DATE,INTERVAL'3'DAY)
    Citation Envoyé par Siocnarfus
    Il me met une erreur sur la dernière partie DATE_SUB(CURRENT_DATE,INTERVAL'3'DAY).
    Quelle est l'erreur en question ?

    Citation Envoyé par Al1_24
    Quelle est la version de MySQL ?
    Vous n'avez pas répondu à la question de Al1_24 !

    Sous MySql, il existe plusieurs formes d'écriture de votre clause where :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AND  DATECMDEPR < DATE_SUB(CURRENT_DATE,INTERVAL'3'DAY)
    Ne mettez pas 3 entre apostrophe. Il ne s'agit pas d'une chaine de caractères mais un nombre !

    Je vous indique les cas suivants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    --------------
    select current_date,
           date_sub(current_date, interval 3 day) as test1,
           subdate(current_date, interval 3 day)  as test2,
           current_date - interval 3 day          as test3
    --------------
     
    +--------------+------------+------------+------------+
    | current_date | test1      | test2      | test3      |
    +--------------+------------+------------+------------+
    | 2018-04-25   | 2018-04-22 | 2018-04-22 | 2018-04-22 |
    +--------------+------------+------------+------------+
     
    Appuyez sur une touche pour continuer...
    @+

  7. #7
    Membre averti
    Homme Profil pro
    Responsable logistique
    Inscrit en
    Mars 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable logistique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2018
    Messages : 13
    Par défaut
    Bonjour Artemus

    Non je ne pense pas que vous connaissez tous les logiciels mais j'ai juste préciser sur lequel je travaille.
    Et si j'ai besoin c'est que je ne suis pas expert dans le domaine.
    Je ne sais pas si le logiciel utilise MySQL. Et mon post a été redirigé vers un autre forum. Don't worry !
    J'avais déjà essayé sans les apostrophes mais il m'indique toujours la même erreur : "parenthèse de droite absente".
    Je ne savais pas que le langage SQL pouvait varier à ce point selon la version du logiciel.

    Toujours personne pour une idée d'amélioration ?

    Merci d'avance

  8. #8
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 898
    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 898
    Par défaut
    Salut Siocnarfus.

    Citation Envoyé par Siocnarfus
    Je ne sais pas si le logiciel utilise MySQL.
    Si vous ne savez pas, je ne peux pas vous aider.

    Citation Envoyé par Siocnarfus
    Je ne savais pas que le langage SQL pouvait varier à ce point selon la version du logiciel.
    Chaque SGBD a ses particularités, et ce qui fonctionne dans une version peut ne plus fonctionner dans une autre version.
    Sans précision sur le SGBD utilisé et la version, il m'est difficile de vous répondre.

    Je vous ai indiqué trois syntaxes sous MySql, pour retrancher un nombre de jours à une date.
    Les avez-vous testés ?

    @+

Discussions similaires

  1. Requête SQL sur date
    Par souhail72 dans le forum Développement
    Réponses: 12
    Dernier message: 12/10/2016, 18h43
  2. Requête SQL sur champ DATE
    Par SIADIDL dans le forum SQL
    Réponses: 10
    Dernier message: 13/05/2014, 08h28
  3. Une requête SQL sur 2 Dates
    Par souminet dans le forum Bases de données
    Réponses: 5
    Dernier message: 14/05/2008, 20h29
  4. Requête SQL sur une base Access, where sur un champ date
    Par digital prophecy dans le forum Bases de données
    Réponses: 1
    Dernier message: 09/05/2008, 16h47
  5. [CR ?] requête SQL sur une date
    Par czezko dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 23/04/2008, 10h25

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