Requete sql
Résolu/Fermé
mariline285
Messages postés
76
Date d'inscription
vendredi 28 mars 2008
Statut
Membre
Dernière intervention
19 février 2011
-
22 janv. 2009 à 11:38
DORA - 28 mai 2009 à 12:25
DORA - 28 mai 2009 à 12:25
A voir également:
- Requete sql
- Erreur lors de l'envoi de la requête facebook marketplace - Forum Facebook
- Sql server recovery - Télécharger - Gestion de données
- Il y a eu un problème avec cette requête. nous travaillons à sa résolution aussi vite que nous le pouvons. - Forum Facebook
- Logiciel sql - Télécharger - Bases de données
- Requête sql doublons sur 2 champs ✓ - Forum Programmation
9 réponses
nicdev
Messages postés
233
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
13 décembre 2010
87
22 janv. 2009 à 11:49
22 janv. 2009 à 11:49
Tu recherche quoi?
Les Tickets pour 1 personnes en particulier?
SELECT NUM_TICKET,OPERATEUR
FROM `tps_reel`
WHERE OPERATEUR = `pers_2`
Les Tickets pour 1 personnes en particulier?
SELECT NUM_TICKET,OPERATEUR
FROM `tps_reel`
WHERE OPERATEUR = `pers_2`
nicdev
Messages postés
233
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
13 décembre 2010
87
22 janv. 2009 à 11:53
22 janv. 2009 à 11:53
Essaye ca
SELECT NUM_TICKET, OPERATEUR, COUNT(OPERATEUR) AS COMPTEUR
FROM `tps_reel`
WHERE COMPTEUR=1
SELECT NUM_TICKET, OPERATEUR, COUNT(OPERATEUR) AS COMPTEUR
FROM `tps_reel`
WHERE COMPTEUR=1
mariline285
Messages postés
76
Date d'inscription
vendredi 28 mars 2008
Statut
Membre
Dernière intervention
19 février 2011
22 janv. 2009 à 11:58
22 janv. 2009 à 11:58
ça marche pas, il reconnait pas compteur.
Tu crées un programme ?? quel langage ??? je pourrais t'aider si c'est du PHP ou VB..
mariline285
Messages postés
76
Date d'inscription
vendredi 28 mars 2008
Statut
Membre
Dernière intervention
19 février 2011
22 janv. 2009 à 12:00
22 janv. 2009 à 12:00
Non c est pas un programme, je veux faire une modification dans la base de données sous easy php.
nicdev
Messages postés
233
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
13 décembre 2010
87
22 janv. 2009 à 12:09
22 janv. 2009 à 12:09
Dsl j'ai tapé trop rapidement et j'avais pas testé :
SELECT NUM_TICKET, OPERATEUR
FROM `tps_reel`
GROUP BY `NUM_TICKET`
HAVING COUNT( `OPERATEUR` ) =1
SELECT NUM_TICKET, OPERATEUR
FROM `tps_reel`
GROUP BY `NUM_TICKET`
HAVING COUNT( `OPERATEUR` ) =1
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mariline285
Messages postés
76
Date d'inscription
vendredi 28 mars 2008
Statut
Membre
Dernière intervention
19 février 2011
22 janv. 2009 à 12:28
22 janv. 2009 à 12:28
Oui ça marche merci!!!!!!!!!!!!!!!!!
Et tu serais comment afficher les tickets qui sont associés a une unique et seule personne mais meme les doublons?
par exemple:
num_ticket = 001 et operateur = pers_1
num_ticket = 001 et operateur = pers_1
Et tu serais comment afficher les tickets qui sont associés a une unique et seule personne mais meme les doublons?
par exemple:
num_ticket = 001 et operateur = pers_1
num_ticket = 001 et operateur = pers_1
nicdev
Messages postés
233
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
13 décembre 2010
87
22 janv. 2009 à 12:47
22 janv. 2009 à 12:47
SELECT NUM_TICKET, OPERATEUR , COUNT( `OPERATEUR` )
FROM `tps_reel`
GROUP BY `NUM_TICKET`,`OPERATEUR`
HAVING COUNT( `OPERATEUR` ) >1
Il te sortira une ligne avec le nombre de ligne identiques (au moins 2 lignes pour apparaitre)
Mais si tu as une clef primaire sur 'NUM_TICKET+OPERATEUR' alors tu devrai ne pas avoir de lignes.
FROM `tps_reel`
GROUP BY `NUM_TICKET`,`OPERATEUR`
HAVING COUNT( `OPERATEUR` ) >1
Il te sortira une ligne avec le nombre de ligne identiques (au moins 2 lignes pour apparaitre)
Mais si tu as une clef primaire sur 'NUM_TICKET+OPERATEUR' alors tu devrai ne pas avoir de lignes.
mariline285
Messages postés
76
Date d'inscription
vendredi 28 mars 2008
Statut
Membre
Dernière intervention
19 février 2011
>
nicdev
Messages postés
233
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
13 décembre 2010
22 janv. 2009 à 14:02
22 janv. 2009 à 14:02
Pour revenir a mon 1er prb, la requete etait celle ci:
SELECT NUM_TICKET, OPERATEUR
FROM `tps_reel`
GROUP BY `NUM_TICKET`
HAVING COUNT( `OPERATEUR` ) =1
ORDER BY NUM_TICKET
Si je veux afficher tous les tickets associés uniquement à l operateur toto ça ne marche pas, je ne comprends pas.
voici ma requete:
SELECT NUM_TICKET, OPERATEUR
FROM `tps_reel`
where operateur='toto'
GROUP BY `NUM_TICKET`
HAVING COUNT( `OPERATEUR` ) =1
ORDER BY NUM_TICKET
SELECT NUM_TICKET, OPERATEUR
FROM `tps_reel`
GROUP BY `NUM_TICKET`
HAVING COUNT( `OPERATEUR` ) =1
ORDER BY NUM_TICKET
Si je veux afficher tous les tickets associés uniquement à l operateur toto ça ne marche pas, je ne comprends pas.
voici ma requete:
SELECT NUM_TICKET, OPERATEUR
FROM `tps_reel`
where operateur='toto'
GROUP BY `NUM_TICKET`
HAVING COUNT( `OPERATEUR` ) =1
ORDER BY NUM_TICKET
nicdev
Messages postés
233
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
13 décembre 2010
87
22 janv. 2009 à 14:40
22 janv. 2009 à 14:40
La requête :
SELECT NUM_TICKET, OPERATEUR
FROM `tps_reel`
WHERE operateur = 'toto'
GROUP BY `NUM_TICKET`
HAVING COUNT( `OPERATEUR` ) =1
ORDER BY NUM_TICKET
est correcte.
Pour vérifier exécute cette requête :
SELECT NUM_TICKET, OPERATEUR,COUNT( `OPERATEUR`)
FROM `tps_reel`
WHERE operateur = 'toto'
GROUP BY `NUM_TICKET`
ORDER BY NUM_TICKET
le type de résultat (ma db de test pour ton souci)
NUM_TICKET OPERATEUR COUNT( `OPERATEUR`)
001 OPE2 2
002 OPE2 1
Si tu n'as pas de 1 dans le count cela explique pourquoi tu n'as aucun résultat.
Sinon si ton champs OPERATEUR est un CHAR et non un VARCHAR il faut completer avec des espaces :
Utilisateur toto
en CHAR(15) = 'toto '
en VARCHAR(15) = 'toto'
Note la différence avec les espaces en plus pour le CHAR.
SELECT NUM_TICKET, OPERATEUR
FROM `tps_reel`
WHERE operateur = 'toto'
GROUP BY `NUM_TICKET`
HAVING COUNT( `OPERATEUR` ) =1
ORDER BY NUM_TICKET
est correcte.
Pour vérifier exécute cette requête :
SELECT NUM_TICKET, OPERATEUR,COUNT( `OPERATEUR`)
FROM `tps_reel`
WHERE operateur = 'toto'
GROUP BY `NUM_TICKET`
ORDER BY NUM_TICKET
le type de résultat (ma db de test pour ton souci)
NUM_TICKET OPERATEUR COUNT( `OPERATEUR`)
001 OPE2 2
002 OPE2 1
Si tu n'as pas de 1 dans le count cela explique pourquoi tu n'as aucun résultat.
Sinon si ton champs OPERATEUR est un CHAR et non un VARCHAR il faut completer avec des espaces :
Utilisateur toto
en CHAR(15) = 'toto '
en VARCHAR(15) = 'toto'
Note la différence avec les espaces en plus pour le CHAR.
mariline285
Messages postés
76
Date d'inscription
vendredi 28 mars 2008
Statut
Membre
Dernière intervention
19 février 2011
22 janv. 2009 à 14:48
22 janv. 2009 à 14:48
J'ai reussi à afficher les tickets associés uniquement à une seule personne en faisant une requête imbriquée, voici ma requête:
SELECT NUM_TICKET, OPERATEUR
FROM `tps_reel`
WHERE `NUM_TICKET`
IN
(
SELECT num_ticket
FROM tps_reel
WHERE operateur = 'toto'
)
GROUP BY `NUM_TICKET`
HAVING COUNT( `OPERATEUR` ) =1
ORDER BY NUM_TICKET
Néanmoins, dans certains cas je peux avoir un ticket associé a toto et un meme ticket associé à toto => ce qui revient a dire que le ticket est asocié à toto. C'est cette partie là qui ne fonctionne pas dans la requete.
Dois je faire une nouvelle requete ou modifier celle ci?
SELECT NUM_TICKET, OPERATEUR
FROM `tps_reel`
WHERE `NUM_TICKET`
IN
(
SELECT num_ticket
FROM tps_reel
WHERE operateur = 'toto'
)
GROUP BY `NUM_TICKET`
HAVING COUNT( `OPERATEUR` ) =1
ORDER BY NUM_TICKET
Néanmoins, dans certains cas je peux avoir un ticket associé a toto et un meme ticket associé à toto => ce qui revient a dire que le ticket est asocié à toto. C'est cette partie là qui ne fonctionne pas dans la requete.
Dois je faire une nouvelle requete ou modifier celle ci?
nicdev
Messages postés
233
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
13 décembre 2010
87
22 janv. 2009 à 14:54
22 janv. 2009 à 14:54
Peux tu me donner un exemple de ce que tu as dans ta table et le résultat que tu attends?
mariline285
Messages postés
76
Date d'inscription
vendredi 28 mars 2008
Statut
Membre
Dernière intervention
19 février 2011
22 janv. 2009 à 15:02
22 janv. 2009 à 15:02
voici un exemple d affichage:
num_ticket nom
001 toto
001 titi
002 toto
003 tata
003 tata
Resultat de laa requete:
002 toto
Resultat attendue:
002 toto
003 tata
car le ticket 003 est associé UNIQUEMENT à tata
et le ticket 002 est associé UNIQUEMENT à toto.
num_ticket nom
001 toto
001 titi
002 toto
003 tata
003 tata
Resultat de laa requete:
002 toto
Resultat attendue:
002 toto
003 tata
car le ticket 003 est associé UNIQUEMENT à tata
et le ticket 002 est associé UNIQUEMENT à toto.
nicdev
Messages postés
233
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
13 décembre 2010
87
>
mariline285
Messages postés
76
Date d'inscription
vendredi 28 mars 2008
Statut
Membre
Dernière intervention
19 février 2011
22 janv. 2009 à 15:39
22 janv. 2009 à 15:39
SELECT NUM_TICKET, OPERATEUR
FROM (
SELECT DISTINCT *
FROM `tps_reel`
) tps_reel
GROUP BY `NUM_TICKET`
HAVING COUNT( `OPERATEUR` ) =1
ORDER BY NUM_TICKET
Explication :
SELECT DISTINCT * FROM `tps_reel`
enlève les doublons.
FROM (
SELECT DISTINCT *
FROM `tps_reel`
) tps_reel
GROUP BY `NUM_TICKET`
HAVING COUNT( `OPERATEUR` ) =1
ORDER BY NUM_TICKET
Explication :
SELECT DISTINCT * FROM `tps_reel`
enlève les doublons.
svp ou la faut dans cette requet et sou requet (
SELECT dbo.EMP.Matr, dbo.EMP.NomE, dbo.EMP.poste, dbo.PARTICIPATION.codeP
FROM dbo.PARTICIPATION INNER JOIN
dbo.EMP ON dbo.PARTICIPATION.Matr = dbo.EMP.Matr
where dbo.EMP.Matr in(
SELECT Matr, COUNT(codeP) as nbr
FROM dbo.PARTICIPATION
GROUP BY Matr
HAVING COUNT(codeP) >1)
SELECT dbo.EMP.Matr, dbo.EMP.NomE, dbo.EMP.poste, dbo.PARTICIPATION.codeP
FROM dbo.PARTICIPATION INNER JOIN
dbo.EMP ON dbo.PARTICIPATION.Matr = dbo.EMP.Matr
where dbo.EMP.Matr in(
SELECT Matr, COUNT(codeP) as nbr
FROM dbo.PARTICIPATION
GROUP BY Matr
HAVING COUNT(codeP) >1)
22 janv. 2009 à 11:51
T as une idée?