Recherches selon plusieurs critères MYSQL
Résolu/Fermé
silicon6969
Messages postés
146
Date d'inscription
vendredi 15 janvier 2010
Statut
Membre
Dernière intervention
4 mars 2015
-
21 mai 2013 à 14:25
Utilisateur anonyme - 22 mai 2013 à 10:03
Utilisateur anonyme - 22 mai 2013 à 10:03
A voir également:
- Maya cherche des mocassins noirs ou rouges en taille 40. filtrez la table selon ses critères. combien y a-t-il de résultats ?
- Comment réduire la taille d'un fichier - Guide
- Table ascii - Guide
- Table des matières word - Guide
- Le fichier contient un tableau présentant un extrait des livres les plus prêtés à paris en 2016. filtrez le tableau pour ne faire apparaître que les bandes dessinées ado. puis filtrez le tableau pour ne faire apparaître que celles dont l'auteur est zep. quel est le titre de la bande dessinée ado de zep qui a été la plus prêtée d'après ce tableau ? ✓ - Forum Windows 10
- 35 go internet combien de temps ✓ - Forum Free mobile
3 réponses
Utilisateur anonyme
21 mai 2013 à 15:15
21 mai 2013 à 15:15
salut !
tout dépend de ce que souhaite récupérer.
D'une part, le nombre d'enregistrement à un impact sur la durée de traitement, donc plus il y aura de critère plus cela risque de prendre du temps (en fonction de la taille, faire plusieurs requete peu s'avérer + rapide qu'une seule), de même, il peu aussi être plus rapide dans certains cas de filtrer des résultats dans ton code que dans ta requête.
Ensuite il faut savoir si tes critères sont stricts ou s'ils ne s'éliminent pas entre eux (par exemple tu peux ne récupérer que les données correspondant aux critères A ET B ou récupérer ceux qui correspondent à A OU B.
Donc finalement il faudrai un peu plus d'info pour t'aider précisément ^^.
naga
tout dépend de ce que souhaite récupérer.
D'une part, le nombre d'enregistrement à un impact sur la durée de traitement, donc plus il y aura de critère plus cela risque de prendre du temps (en fonction de la taille, faire plusieurs requete peu s'avérer + rapide qu'une seule), de même, il peu aussi être plus rapide dans certains cas de filtrer des résultats dans ton code que dans ta requête.
Ensuite il faut savoir si tes critères sont stricts ou s'ils ne s'éliminent pas entre eux (par exemple tu peux ne récupérer que les données correspondant aux critères A ET B ou récupérer ceux qui correspondent à A OU B.
Donc finalement il faudrai un peu plus d'info pour t'aider précisément ^^.
naga
Natio78
Messages postés
719
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
27 mai 2013
96
21 mai 2013 à 14:50
21 mai 2013 à 14:50
tu peux utiliser la fonction OR du SQL.
Du style:
SELECT blabla,blibli FROM foobar WHERE blabla LIKE %hihi% OR bliblib LIKE %ahha%
Du style:
SELECT blabla,blibli FROM foobar WHERE blabla LIKE %hihi% OR bliblib LIKE %ahha%
silicon6969
Messages postés
146
Date d'inscription
vendredi 15 janvier 2010
Statut
Membre
Dernière intervention
4 mars 2015
17
22 mai 2013 à 08:50
22 mai 2013 à 08:50
bonjour,
dans le cas ici présent je dois effectuer une recherche avec plusieurs critères (le prix d'un matériau et son poids par exemple), chacune des informations ayant sa table dans la base de donnée. Dans le cas ici présent je dois absolument effectuer avec les deux critères donc sa serait bien une ET.
dans le cas ici présent je dois effectuer une recherche avec plusieurs critères (le prix d'un matériau et son poids par exemple), chacune des informations ayant sa table dans la base de donnée. Dans le cas ici présent je dois absolument effectuer avec les deux critères donc sa serait bien une ET.
ok. donc tu doit identifier le lien qu'il y a entre tes tables (par exemple un identifiant de pièce) afin d'avoir l'esquisse de ta requête (peu être qu'il a déjà un existant qui affiche la liste sans filtrage? dans ce cas tu peux t'appuyer sur cette requete).
par exemple :
nous dirons que tu as 3 tables :
tu veux récupérer les infos pour un prix de 100 et un poids de 650 :
ou encore
par exemple :
nous dirons que tu as 3 tables :
materiaux (ID_MAT, NOM_MAT) poids (ID_MAT,sPOIDS) prix (ID_MAT,sPRIX)
tu veux récupérer les infos pour un prix de 100 et un poids de 650 :
SELECT NOM_MAT , POIDS , PRIX FROM (materiaux , poids , prix) WHERE materiaux.ID_MAT = poids.ID_MAT and materiaux.ID_MAT = prix.ID_MAT and prix.sPRIX = 100 and poids.sPOIDS = 650
ou encore
SELECT NOM_MAT , POIDS , PRIX FROM materiaux join poids on poids.ID_MAT = materiaux.ID_MAT join prix on prix.ID_MAT = materiaux.ID_MAT WHERE prix.sPRIX = 100 and poids.sPOIDS = 650
silicon6969
Messages postés
146
Date d'inscription
vendredi 15 janvier 2010
Statut
Membre
Dernière intervention
4 mars 2015
17
22 mai 2013 à 09:56
22 mai 2013 à 09:56
merci beaucoup nagashima tes explications claire m'ont permis de comprendre comment je vais pouvoir faire !