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 :

Trouver le PV actuel [AC-2010]


Sujet :

Requêtes et SQL.

  1. #1
    Membre habitué
    Inscrit en
    Décembre 2009
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 273
    Points : 126
    Points
    126
    Par défaut Trouver le PV actuel
    Bonjour,

    Je sèche sur l'affichage unique du PV actuel.
    J'ai une table avec l'historique des PV anciens et à venir et je souhaiterais n'afficher que le PV du jour.
    J'ai utilisé la fonction Max() mais cela m'affiche toutes les dates.
    Je vous joins un fichier qui sera plus parlant et le résultat que j'attends est la ligne où la date est le 30/09/2011 et le PV de 575.

    Merci de votre aide
    Cdt
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut CmzxNene,

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT TOP 1 *
    FROM T_MaxPV
    WHERE DatePV<=#3/19/2012#
    ORDER BY DatePV DESC

  3. #3
    Membre habitué
    Inscrit en
    Décembre 2009
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 273
    Points : 126
    Points
    126
    Par défaut
    Bonjour Vodiem,

    Merci pour ta réponse mais le résultat retourné est seulement utilisable si dans 1 table tu n'as qu'un seul article.

    Citation Envoyé par vodiem Voir le message
    salut CmzxNene,

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT TOP 1 *
    FROM T_MaxPV
    WHERE DatePV<=#3/19/2012#
    ORDER BY DatePV DESC
    J'ai fait un test sur ma table qui contient quelquesssss articles et le résultat affiché correspond à un seul article qui a une date PV la plus proche du 19/03/2012.

    Ce que je souhaite, c'est afficher tous les articles de ma table avec uniquement le dernier PV le plus proche du 19/03/2012.

    Merci pour la suite
    Cdt

  4. #4
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    pourrais tu reformuler stp?

    Citation Envoyé par CmzxNene
    tous les articles de ma table avec uniquement le dernier PV
    tous avec uniquement un... ca me parait contradictoire.

  5. #5
    Membre habitué
    Inscrit en
    Décembre 2009
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 273
    Points : 126
    Points
    126
    Par défaut
    bonjour,

    Citation Envoyé par vodiem Voir le message
    pourrais tu reformuler stp?


    tous avec uniquement un... ca me parait contradictoire.
    j'ai une table qui contient l'historique des PV anciens et à venir, donc plusieurs enregistrements pour un même article et je souhaiterais afficher pour chaque article le PV dont la date de prise d'effet et sup ou égal à une date définie.

    ex :
    article pv date
    234 34 12/01/2012
    234 45 23/11/2011
    234 37 22/03/2012
    333 23 15/02/2012
    333 30 23/12/2011
    333 32 12/06/2012

    Le résultat que j'attends à partir de la date définie 19/03/2012

    234 34 12/01/2012
    333 23 15/02/2012

    Est ce plus claire ?
    Merci

  6. #6
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    effectivement dit comme ca...

    une solution parmi d'autre:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT * FROM T_MaxPV as t1
    WHERE t1.DatePV=(Select Max(t2.DatePV) FROM T_MaxPV as t2 WHERE (t2.CodeArticle=t1.CodeArticle) AND (t2.DatePV<=#3/19/2012#))


  7. #7
    Membre habitué
    Inscrit en
    Décembre 2009
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 273
    Points : 126
    Points
    126
    Par défaut
    Merci Vodiem.

    Cela répond parfaitement à mon attente.
    L'imbrication de sous requête n'est pas dans mon domaine de compétence actuellement mais je vais approfondir cela.
    Merci de ton aide.

    A bienôt

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

Discussions similaires

  1. Trouver la dizaine de l'heure actuelle
    Par nicolas2603 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 18/04/2013, 11h10
  2. Réponses: 7
    Dernier message: 30/09/2011, 13h39
  3. comment trouver le chemin du fichier actuel
    Par kaayna dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/02/2010, 13h26
  4. Réponses: 4
    Dernier message: 27/03/2002, 11h03

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