Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/10/2011, 16h11   #1
Invité de passage
 
Inscription : octobre 2009
Messages : 2
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 2
Points : 1
Points : 1
Par défaut Requete SELECT possible ?

Bonjour,

je rencontre un petit souci et j'aimerai savoir s'il est possible en une seule requête de faire la recherche suivante.

dans une table, j'ai plusieurs lots de fabrication certains peuvent deja avoir été contrôlé et d'autres non, Contrôlé = 1, non contrôlés = 0, s'ils ont tous été contrôlé tout est à 1 si aucun n'a été contrôle, ils sont tous à 0 par contre il peut arriver que certains ne soit pas encore contrôlés et j'aimerai selectionner uniquement ceux qui ne sont pas entièrement contrôlés.

ex :

NumSuivi Ctrl
0010 0
0010 0
0010 0
0011 1
0011 0
0012 1
0012 1
0012 1
0012 1

je voudrais donc trouver uniquement le lot n° 0011 qui a une ou plusieurs valeurs à 0 et une ou plusieurs valeurs à 1 mais en aucun cas les lots qui n'ont que des 1 ou que des 0.

j'ai bien essayer diverses requêtes, mais je ne trouve pas, comme :
Code :
1
2
3
4
5
SELECT `NumSuivi` 
FROM `Lames_Defauts_Evap` 
WHERE  `Ctrl` IN (0,1) 
GROUP BY `NumSuivi` 
HAVING count(*)=2
Merci pour votre aide

Merci
moulehood3000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2011, 16h30   #2
Expert Confirmé
 
Avatar de Maljuna Kris
 
Homme Avcxjo MoKo
Retraité
Inscription : novembre 2005
Messages : 2 530
Détails du profil
Informations personnelles :
Nom : Homme Avcxjo MoKo
Âge : 60

Informations professionnelles :
Activité : Retraité
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : novembre 2005
Messages : 2 530
Points : 3 523
Points : 3 523
Saluton,
Tu peux aussi faire un contrôle sur la valeur d'AVG(Ctrl).
Si elle est différente de 1 ou de 0 ....
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
articles : Comment émuler un tableau croisé [quasi] dynamique
et : Une énigme mathématique résolue avec MySQL
recommande l'utilisation de PDO (PHP5 Data Objects)
Maljuna Kris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2011, 16h32   #3
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 328
Points : 18 328
Envoyer un message via MSN à CinePhil
Il faut compter combien il y a de lignes de la table par NumSuivi et comparer au nombre de 1 et de zéros par NumSuivi puis ne retenir que ceux qui ont un nombre de zéros ou un nombre de 1 différent du nombre de lignes.
Tu étais sur la piste de la solution.
Code :
1
2
3
4
5
6
7
8
9
SELECT NumSuivi
FROM Lames_Defauts_Evap
GROUP BY NumSuivi
HAVING SUM(Ctrl) < COUNT(*) -- nombre de ctrl = 1
    OR SUM(
        CASE 
            WHEN Ctrl = 0 THEN 1
        END
    ) < COUNT(*) -- nombre de ctrl = 0
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2011, 16h33   #4
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 328
Points : 18 328
Envoyer un message via MSN à CinePhil
Citation:
Envoyé par Maljuna Kris Voir le message
Saluton,
Tu peux aussi faire un contrôle sur la valeur d'AVG(Ctrl).
Si elle est différente de 1 ou de 0 ....
Pas con ça !
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2011, 16h52   #5
Invité de passage
 
Inscription : octobre 2009
Messages : 2
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 2
Points : 1
Points : 1
Merci CinePhil ça fonctionne très bien, merci pour votre rapidité à répondre tous les 2.

Claude
moulehood3000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h12.


 
 
 
 
Partenaires

Hébergement Web