Requete MySQL renvoi plusieurs entrées
Résolu
kalimbra
Messages postés
469
Date d'inscription
Statut
Membre
Dernière intervention
-
kalimbra Messages postés 469 Date d'inscription Statut Membre Dernière intervention -
kalimbra Messages postés 469 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai une requete MySQL qui est sensé me renvoyer une entrée unique correspondant à mes besoins. :
SELECT DISTINCT * FROM Presence LEFT JOIN Employes ON Presence.IdCard = Employes.idCard WHERE DepartTime ='00:00:00' AND ArrivalTime <> '00:00:00'
Malheureusement , dans un cas, je me retrouve avec deux entrées . Normalement Chaque DepartTime est compensé par un arrivalTime, sinon je récupère.
Mais si j'ai deux entrées idcard identique avec deux arrivaltime différent, et sans aucun departime, je me retrouve avec deux entrées dans ma requete..
comment pourrais je modifier cette requete pour qu'il ne me donne qu'une entrée quand plusieurs remplissent la condition ?
j'ai une requete MySQL qui est sensé me renvoyer une entrée unique correspondant à mes besoins. :
SELECT DISTINCT * FROM Presence LEFT JOIN Employes ON Presence.IdCard = Employes.idCard WHERE DepartTime ='00:00:00' AND ArrivalTime <> '00:00:00'
Malheureusement , dans un cas, je me retrouve avec deux entrées . Normalement Chaque DepartTime est compensé par un arrivalTime, sinon je récupère.
Mais si j'ai deux entrées idcard identique avec deux arrivaltime différent, et sans aucun departime, je me retrouve avec deux entrées dans ma requete..
comment pourrais je modifier cette requete pour qu'il ne me donne qu'une entrée quand plusieurs remplissent la condition ?
A voir également:
- Requete MySQL renvoi plusieurs entrées
- Renvoi ooredoo - Forum Samsung
- Mysql community server - Télécharger - Bases de données
- Désactiver renvoi d'appel ooredoo - Forum Mobile
- Desactiver renvoi mobilis ✓ - Forum telephonie fixe
- Désactiver renvoi d'appel - Forum telephonie fixe
6 réponses
Bonsoir,
il faut détailler le select
select distinct idcard, les autres zones from .....
on ne retourbera alors qu'un enreg par idcard identique
il faut détailler le select
select distinct idcard, les autres zones from .....
on ne retourbera alors qu'un enreg par idcard identique
bon, en fin de compte ça ne fonctionne pas...
voila ma requete : SELECT DISTINCT Presence.IdCard, Presence.ArrivalTime, Presence.DepartTime, Employes.EmployeName, Employes.Company,Employes.Localisation
FROM Presence LEFT JOIN Employes ON Presence.IdCard = Employes.idCard
WHERE DepartTime ='00:00:00' AND ArrivalTime <> '00:00:00'
et pourtant dans mon résultat je me retrouve bien avec 2 entrées répondant aux conditions WHERE, mais avec 2 IdCard identique...
voila ma requete : SELECT DISTINCT Presence.IdCard, Presence.ArrivalTime, Presence.DepartTime, Employes.EmployeName, Employes.Company,Employes.Localisation
FROM Presence LEFT JOIN Employes ON Presence.IdCard = Employes.idCard
WHERE DepartTime ='00:00:00' AND ArrivalTime <> '00:00:00'
et pourtant dans mon résultat je me retrouve bien avec 2 entrées répondant aux conditions WHERE, mais avec 2 IdCard identique...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
effectivement car il prend le distinct sur toutes les variables et comme arrivaltime est différent il affiche tout
SELECT DISTINCT Presence.IdCard, Employes.EmployeName, Employes.Company,Employes.Localisation
FROM Presence LEFT JOIN Employes ON Presence.IdCard = Employes.idCard
WHERE DepartTime ='00:00:00' AND ArrivalTime <> '00:00:00'
SELECT DISTINCT Presence.IdCard, Employes.EmployeName, Employes.Company,Employes.Localisation
FROM Presence LEFT JOIN Employes ON Presence.IdCard = Employes.idCard
WHERE DepartTime ='00:00:00' AND ArrivalTime <> '00:00:00'
bon au final je pense avoir résolu mon problème avec un group by..
SELECT * FROM Presence LEFT JOIN Employes ON Presence.IdCard = Employes.idCard WHERE DepartTime ='00:00:00' AND ArrivalTime <> '00:00:00' GROUP BY Employes.EmployeName ORDER BY Localisation ASC, Company ASC, EmployeName ASC;
merci de votre aide
SELECT * FROM Presence LEFT JOIN Employes ON Presence.IdCard = Employes.idCard WHERE DepartTime ='00:00:00' AND ArrivalTime <> '00:00:00' GROUP BY Employes.EmployeName ORDER BY Localisation ASC, Company ASC, EmployeName ASC;
merci de votre aide