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 update pour créer un statut présent ou absent


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2022
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2022
    Messages : 22
    Points : 67
    Points
    67
    Par défaut Requête update pour créer un statut présent ou absent
    bonjour , tout le monde

    je me dirige vers vous afin de m'aider à trouver une solution pour une requette update qui m'aidera a mettre des statuts Présent ou absent sur la colonne Statut selon le pointage effectué dans une intervalle donnée

    ma table pointage
    +----+--------+------------------------+---------+------------+
    | Id | UserId | Name | Pointage | Statut |
    +----+--------+------------------------+---------+------------+
    | 2 | 111 | Etudiant A | 9:00:05 | Présent | si le pointage est effectué en 8:00:00 et 09:10:00 le statut devrais être (Présent)
    | 3 | 112 | Etudiant B | 9 :25:00 | Absent | si le pointage dépasse 09:10:00 le statut devrais être (Absent)
    | 4 | 116 | Etudiant A | 11:15:00 | Présent | si le pointage est effectué en 11:00:00 et 11:15:00 le statut devrais être (Présent)
    +----+--------+------------------------+---------+-------------+

    si c'est possible prière de me donner un petit coup de pousse et merci infiniment à vous

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 114
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 114
    Points : 8 260
    Points
    8 260
    Billets dans le blog
    17
    Par défaut
    Qu'est-ce qui nous dit sur la ligne ID = 4 que l'étudiant n'aurait pas du pointer entre 8h00 et 9h10 et devrait ainsi être statué "Absent" ?
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 142
    Points : 38 922
    Points
    38 922
    Billets dans le blog
    9
    Par défaut
    De plus, si le statut "présent" ou "absent" est une conséquence directe de la plage horaire, il est inutile et dangereux de créer une colonne, il faut restituer par calcul ce statut au moment de l'exécution de la requête. Sans quoi, si les heures de pointage sont modifiées, ce statut devient potentiellement faux.

    Dans une base de données, toute redondance est à proscrire.

  4. #4
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 384
    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 384
    Points : 19 087
    Points
    19 087
    Par défaut
    Salut Emilie du 93.

    Tu désires notre aide, c'est très bien, mais tu ne nous communiques rien de ton existant, juste un vague schéma de ce que tu désires obtenir.

    A priori, tu nous parles d'étudiants, je suppose que cela est en rapport avec des cours et d'un planning.
    Sauf que tu ne nous communiques aucun découpage en matière, en salle, en professeur, en classe d'étudiants, ...
    Une salle est réservée par un professeur qui va faire cours d'une matière pour une classe d'étudiants données, à une heure dite.
    Le quintuplé (professeur, matière, salle, classe d'étudiants, tranche horaire) doit être unique au sein de ta base de données.

    Admettons pour simplifier que le cours commence à 10H00 et se termine à 11H00.
    Nous ne savons rien de comment va se faire ce pointage.
    C'est ce qui va conditionner le résultat final de ta demande.

    Le but du pointage est de valider la présence d'un étudiant à un cours. La méthode utilisée est importante.
    Pourquoi ? A cause des fraudes !

    a) Est-ce que l'étudiant badge pour entrer et sortir de la salle où va se dérouler le cours ?
    Et si un étudiant utilise plusieurs badge pour notifier qu'il sont présents ?
    Qui va contrôler qu'il n'y a pas eu fraude ?

    Le résultat sera stocké dans une table où chaque ligne contiendra l'utilisation du badge.
    Tu auras l'horodatage de l'entrée dans la salle de cours ainsi que de la sortie pour ce même étudiant.
    A priori, rien de tel. Et tu nous demandes d'appliquer un critère dont on ne connait que le résultat à obtenir.
    Si l'étudiant ne badge pas, ou oublie de le faire, il n'y aura pas de lignes dans cette table.

    Pour réaliser ce que tu nous demandes, il nous manque plusieurs tables pour faire les liens.
    En l'état, nous ne pouvons pas répondre à ta demande.

    Il faut recherche pour une salle donnée, le présence ou l'absence de ligne dans l'intervalle de temps données.
    Si l'étudiant qui doit se présenter dans la salle a badgé, tu as l'heure d'entrée et l'heure de sortie.
    Si le cours va de 10H00 jusqu'à 11H00, les limites de l'horodatage sont :
    --> horodatage d'arrivée < 10H15.
    --> horodatage de départ > 10H45.

    b) en début de cours, un professeur fait l'appel des étudiants.
    Et en fonction de la réponse qu'il obtient, il coche sur la feuille présent ou absent.
    Dans ce cas, il suffit juste de recopier l'information obtenue.
    Appliquer un intervalle de temps n'a aucun sens.

    c) On dirait dans ton exemple, que tes étudiants se trouvent tous dans la même salle d'étude.
    Autrement dit, ce sont les professeurs qui se déplacent de salle en salle et non les étudiants.
    Dans ce cas, on peut supposer l'usage d'une feuille de présence.

    Le mieux est de nous fournir un exemple complet avec pour chaque table, son descriptif.
    Un extrait de ton jeu d'essai représentant ton problème pour chaque table, et non la totalité du contenu de ta table.
    Autrement dit, on ne veut pas 10 000 lignes mais juste le stricte nécessaire.
    La requête que tu as déjà tenté de faire. Et pourquoi tu n'y arrives pas.

    Cordialement.
    Artemus24.
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  5. #5
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 384
    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 384
    Points : 19 087
    Points
    19 087
    Par défaut
    Salut Emilie du 93.

    Aurais-tu oublié ce sujet que tu as ouvert et dont je t'ai donné la solution ?

    Qu'est-ce qui a changé depuis ?

    Cordialement.
    Artemus24.
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/10/2015, 09h43
  2. Requête UPDATE pour consolider 6M lignes
    Par fanfouer dans le forum Requêtes
    Réponses: 9
    Dernier message: 13/10/2012, 19h23
  3. Requête update pour article joomla
    Par kadad dans le forum Requêtes
    Réponses: 1
    Dernier message: 18/06/2012, 12h07
  4. requête UPDATE pour deux tables
    Par Lancelot du Lac35 dans le forum Requêtes
    Réponses: 3
    Dernier message: 06/02/2012, 17h18
  5. Requête UPDATE pour débutant
    Par gestgm dans le forum Requêtes
    Réponses: 2
    Dernier message: 20/07/2010, 11h01

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