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 :

[Requêtes] Selectionner une seule date parmis plusieurs


Sujet :

Requêtes et SQL.

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut [Requêtes] Selectionner une seule date parmis plusieurs
    Le titre n'est pas très équivoque donc je vais m'expliquer un peu.

    La requête en question fait appel à deux bases : tblDéclaration et tblArrêt

    En gros, une personne de la table tblDéclaration peut avoir plusieurs arrêt de travail dans la table tblArrêt, donc pour une ligne dans la table tblDéclaration, on aura plusieurs lignes dans la table tblArrêt.

    Ma requête sélectionne une personne et les arrêts qui lui correspondent, donc en retour de la requête on aura autant de lignes pour une personne que d'arrêt qui lui sont associés (normal quoi ^^ si une personne a eu 3 arrêt de travail, il y aura trois lignes la concernant en résultat de la requête).

    Un arrêt se caractérise par une date de début et une date de fin.

    Petit hic dans ma requête, je souhaiterais que pour une personne, on récupére la date de début du premier arrêt, ainsi que la date de fin du dernier arrêt ! tout le monde me suit ? :o

    Exemple avec la premiere requête (si je selectionne les personne et tout leurs arrets :
    NOM PRENOM DATE_DEBUT DATE_FIN

    TOTO HENRI 01/01/07 04/01/07
    TOTO HENRI 04/01/07 10/01/07
    TOTO HENRI 10/01/07 20/01/07
    JULIEN MARSEILLE 15/01/07 25/01/07
    PAPA PARIS 10/01/07 16/01/07
    PAPA PARIS 16/01/07 26/01/07

    Et moi j'aimerais avoir en résultat :

    TOTO HENRI 01/01/07 20/01/07
    JULIEN MARSEILLE 15/01/07 25/01/07
    PAPA PARIS 10/01/07 26/01/07

    Si quelqu'un a saisit et peut m'aider, merci !

    PS : NOM et PRENOM sont dans tblDéclaration, DATE_DEBUT DATE_FIN dans tblArret

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 98
    Points : 123
    Points
    123
    Par défaut
    Bonjour,

    Sur la requete faire un regroupement sur Nom et prenom, maximun de datedeb et minimum sur datefin.

    A+

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Dans ta requête tu clique sur E (symbole Somme En Haut dans la barre)

    Tu auras une ligne de plus
    1 - Tu laisses regroupement sous le nom
    2 - Sous date debut tu sélectionnes : MIN
    3 - Sous date fin tu sélectionnes : MAX

    Cela devrait faire l'affaire

    Starec

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select nom,prenom, min(datarret) as début,max(datreprise) as fin
    from arret
    group by nom,prenom;


    nb ca sert à quoi de savoir que tartempion a eut son premier arret le 18 juin 1815 et sa dernière reprise le 01/04/2006 ?

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut
    ah oui, autant pour moi, c'est bien ce que j'avais fait, mais j'avais laissé un regroupement sur un autre champs qui différenciait pour une même personne, donc ça buger à cet endroit.

    Pour random, en fait si je reprend mon exemple :

    TOTO HENRI 01/01/07 04/01/07
    TOTO HENRI 04/01/07 10/01/07
    TOTO HENRI 10/01/07 20/01/07
    Dans ce cas là, TOTO HENRI s'est fait mal le 01/01/07, son arrêt est sensé se finir le 04/01/07, mais le médecin se rend compte qu'il est toujours pas apte, donc il le prolonge une première fois, dans notre cas jusqu'au 10/01/07, et encore une fois jusqu'au 20/01/07. Il s'agit en fait d'un certificat initial, puis de deux certificats de prolongation.
    Au final, dans mon état, ce qui est important de voir c'est combien de temps au total son arrêt a duré, et combien de temps il a été indisponible (c'est une bdd pour les pompiers).
    Par contre, si il a eu deux arrêts bien distinct, je peux faire la différence par rapport au regroupement d'un autre champs, qui est unique d'un accident à un autre, même si c'est pour la même personne.

    Voilà

  6. #6
    Invité
    Invité(e)
    Par défaut
    Re

    Que se passe-t-il si toto a été arrêté en janvier, a repris le travail et a été arrêté en mai ?

    Tu auras un arrêt de janvier à mai, ce qui est faux.

    Starec

  7. #7
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut
    Il s'agira de deux arrêts bien distincts, puisque l'un ne sera pas en rapport avec l'autre. Le numéro unique est pour chaque accident, pas pour chaque personne. Donc un regroupement sur ce numéro fera qu'on verra aparraître deux lignes pour une même personne, ce qui est normal puisque ce qui m'interesse ce sont les accidents, et non pas les personnes (c'est ce que j'ai expliqué dans le post au dessus mais je l'ai édité juste après que tu ai posté je pense).

  8. #8
    Invité
    Invité(e)
    Par défaut
    OK

    Si tu as un autre repére d'accord.

    Starec

  9. #9
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    oki oki prompts voeux de rétablissement à tous

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 05/06/2015, 13h53
  2. mon imprimante n'imprime q'une seule copie parmi plusieurs
    Par pipipicontrole dans le forum Word
    Réponses: 1
    Dernier message: 19/05/2014, 17h33
  3. Réponses: 3
    Dernier message: 06/02/2009, 15h22
  4. Récupérer une seule valeur parmi plusieurs
    Par geraldgg dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 11/05/2007, 10h26
  5. Réponses: 9
    Dernier message: 11/11/2006, 13h10

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