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 l'élément juste après en SQL ?


Sujet :

Requêtes et SQL.

  1. #1
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 359
    Points : 23 829
    Points
    23 829
    Par défaut Trouver l'élément juste après en SQL ?
    Bonjour à tous et merci de votre temps et aide.

    J'ai un fichier d'événement : association de vehicule et de personne

    Chaque événement a une date, une clefVehicule et une clefPersonne.

    Je souhaite faire des périodes pour mes véhicules et cela me prend la date de l'événement pour ce véhicule ET la date de l'événement pour ce véhicule qui le suit immédatement.

    Note je ne peux pas numéroter les événements, il faut que je marche avec des dates et des heures.

    J'ai fait une fonction VBA qui fait juste cela mais c'est super lent donc j'essaye en SQL et pour le moment c'est pas une réussite.

    Le résultat devrait ressembler à cela :

    ClefVehicule, DateEvenement, DateEvenement_Suivant.

    Quelqu'un a déjà fait cela ?

    As tout hazard voici le SQL que j'ai fait mais il ne marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    SELECT AssVehiculePersonne.ClefVehicule, AssVehiculePersonne.Date, r3.Date AS Date_Suivant
    FROM AssVehiculePersonne 
    LEFT JOIN 
     
    (
    SELECT Min(AssVehiculePersonne.Date) AS [Date], AssVehiculePersonne.ClefVehicule
    FROM AssVehiculePersonne
    GROUP BY AssVehiculePersonne.ClefVehicule
    HAVING (((Min(AssVehiculePersonne.Date))>AssVehiculePersonne.Date))
    )as r3 
     
    ON AssVehiculePersonne.ClefVehicule = r3.ClefVehicule;
    A+

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonsoir,

    peut-être comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT AssVehiculePersonne.ClefVehicule, AssVehiculePersonne.Date,
     (SELECT Min(Tmp1.Date)
      FROM AssVehiculePersonne As Tmp1
      WHERE ((Tmp1.Date)>(AssVehiculePersonne.Date) AND (Tmp1.ClefVehicule=AssVehiculePersonne.ClefVehicule))
      GROUP BY Tmp1.ClefVehicule ) As Date_Suivant
    FROM AssVehiculePersonne;
    J'ai fait un essai sur une de mes tables et à ma grande surprise Access(2000) a accepté la sous-requête dans le SELECT.
    Sinon on peut remplacer la sous-requête par un Dmin(...)

    Bon courage

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 359
    Points : 23 829
    Points
    23 829
    Par défaut
    Wahoo ! Ça marche !!!

    Merci.

    A+

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/05/2006, 10h47
  2. Réponses: 2
    Dernier message: 04/04/2006, 11h46
  3. probleme code vba ne s'execute pas apres instruction sql
    Par arnogef dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 29/12/2005, 12h34
  4. [Win XP] La machine s'arrête seule juste après avoir démarré
    Par Giovanny Temgoua dans le forum Windows XP
    Réponses: 5
    Dernier message: 05/12/2005, 10h02
  5. Problèmes d'espaces après requete SQL
    Par innosang dans le forum Bases de données
    Réponses: 7
    Dernier message: 29/04/2004, 16h47

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