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 :

Données manquantes par date [AC-2003]


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 20
    Points : 18
    Points
    18
    Par défaut Données manquantes par date
    Bonjour à tous,

    J'ai 2 tables: User (champs: user ID, Nom, Prénom) et Temps (champs: User ID, Date, Temps). Chaque User encode un nombre d'heures travaillées par jour.

    Je voudrais avoir la liste des Users qui n'ont pas encodé de temps par jour (en prenant pour base le fait que si une personne encode un jour un temps, les autres doivent également encoder un temps...)

    Est-il possible d'intégrer ceci dans une requête ou faut-il passer par 2 requêtes (avec l'ajout d'une table Date par exemple...) ?

    Merci par avance,
    Elokapo

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 643
    Points : 56 975
    Points
    56 975
    Billets dans le blog
    40
    Par défaut
    bonjour,

    j'ai une solution en 3 temps...

    1°) Générer un calendrier avec les jours ou au moins 1 personne a encodé un temps, soit la requête Calendrier:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT Temps.LaDate FROM Temps;

    2°) Générer les couples (date du calendrier, User) pour chaque User, soit la requête SR:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT User.UserId, Calendrier.LaDate FROM [User], Calendrier;

    3°) avec une requête de non correspondance, trouver les User qui n'ont pas pointé:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT SR.LaDate, SR.UserId
    FROM SR LEFT JOIN Temps 
    ON (SR.LaDate = Temps.LaDate AND SR.UserId = Temps.UserId)
    WHERE Temps.UserId Is Null
    ORDER BY SR.LaDate, SR.UserId;

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 20
    Points : 18
    Points
    18
    Par défaut
    Merci ! J'ai testé et ca fonctionne parfaitement !

    A très bientôt !

    E.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/07/2014, 14h41
  2. Remplacer les données manquantes par des zéro
    Par cococmoi dans le forum SAS Base
    Réponses: 1
    Dernier message: 20/05/2014, 12h06
  3. [XL-2007] comparer les données reçues sur un mois et completer les données manquantes par une macro.
    Par wisemanvsfatboy dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/11/2010, 17h16
  4. Extraire données d'une table par date
    Par Hombe dans le forum Langage SQL
    Réponses: 7
    Dernier message: 08/11/2006, 23h03
  5. Extraire données par date du jour
    Par Hombe dans le forum Oracle
    Réponses: 6
    Dernier message: 08/11/2006, 11h14

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