Si une condition est réalisé 3 fois sur 5 afficher un champs

Résolu/Fermé
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024 - 17 oct. 2019 à 16:31
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024 - 23 oct. 2019 à 15:59
Bonjour,
J'ai une table
stats
qui est composé de nom de joueur, est de divers informations notamment des statistiques tel que rebondtotal, LFmarques, Tirs3marques, Tirs2marques, Tirsmarques.

J'aimerais afficher un joueur avec ses statistique si 3 de ces statistiques ont un nombre a deux chiffres. Mon problème est que je ne voit pas comment réaliser ce type d'affichage dans une seule requête... Es que quelqu'un aurait une idée de comment je pourrais faire ? Je pensais à un case ou des sous requêtes mais sa m'obligerais à faire tous les cas. Je veux dire par la faire une comparaison du type :

[/contents/1068-sql-commande-select select] prenomnoms, rebondtotal, LFmarques, Tirs3marques, Tirs2marques, Tirsmarques from stats
	where (length(rebondtotal) = 2
	and length(LFmarques) =2
	and length(Tirs3marques) =2)
        OR (length(Tirs2marques) = 2
	and length(LFmarques) =2
	and length(Tirs3marques) =2);
        OR (length(rebondtotal) = 2
	and length(LFmarques) =2
	and length(Tirsmarques ) =2);
        --etcétéra, etcétéra... 


Mais cela n'est pas du tout optimal ...

Je vous remercie d'avance pour vos conseilles.
Cordialement.
A voir également:

1 réponse

yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471
17 oct. 2019 à 20:00
bonjour, moi je ferais quelque chose du genre:
where 
if ( length(LFmarques) =2,1,0 )+ if ( length(Tirs3marques) =2, 1, 0 ) + if ( length(Tirs2marques) = 2, 1, 0 )
+ if ( length(rebondtotal) =2, 1, 0 ) + if ( length(Tirsmarques ) =2, 1, 0 )
>= 3
0
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024
17 oct. 2019 à 20:22
Bonjour, je me suis tromper je n'utilise pas mysql mais sql plus. Je suppose que cette solution ne fonctionnera pas. Es ce que vous auriez tout de même une solution à me proposer ?
Cordialement.
0
yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471 > Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024
17 oct. 2019 à 21:11
comprends-tu le principe de ce que je propose?
0
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024
17 oct. 2019 à 23:03
Vous tester chaque champs et si il y en à 3 qui ont deux chiffres vous l'afficher ?
0
yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471 > Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024
17 oct. 2019 à 23:44
pour chaque champ, je compte 1 si le champ a deux chiffres, sinon 0.
je fais ensuite la somme, qui me donne donc le nombre de champs ayant deux chiffres.
0
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024
17 oct. 2019 à 23:45
oui d'accord mais je n'ai pas de fonction similaire que me permet cela sur mon sql à ma connaissance ...
0