select from where multiple ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : select from where multiple ?

Re: select from where multiple ?

par Invité » 03 avr. 2010, 23:36

merci bcp oui ca fonctionne

Code : Tout sélectionner

select from produit where category=130 AND category=131
edit
j'avais pas vu celle ci

Code : Tout sélectionner

SELECT * FROM `produit` WHERE `category`IN (130,131)
encore mieux ca évite de réecrire 2 fois category

merci

Re: select from where multiple ?

par devlop78 » 03 avr. 2010, 19:16

Moi j'ai voulu juste répondre à la question ... j'avais bien vu que chercher deux valeurs différentes comme ça ne donnerait rien mais je fais bêtement ce qu'on me demande :)

Re: select from where multiple ?

par MaximusCMS » 03 avr. 2010, 13:22

tout à fait ryle, pour moi aussi une catégorie est une autre table, et ou une seconde requête ou une jointure serait de bonne augure

Je disais 'oui possible', car j'ai déjà vu des tables un peu mal foutue comme ça
L'utilisateur devait alors dupliquer l'article pour l'avoir dans plusieurs catégories, la maintenance devenant impossible très rapidement ..

Bref, un JOIN ( et pas un joint :lol: ) serait la meilleure méthode comme tu le précises

Re: select from where multiple ?

par Ryle » 03 avr. 2010, 13:15

mais ... il y a un mais, suivant comment est foutu la table, cette possibilité est envisageable toutefois ! ( un produit pouvant être présent dans 2 catégories en même temps comme 'petit' ET 'bleu' )
Oui mais non ;)

Dans la théorie, on pourrait effectivement avoir ces deux catégories, mais la recherche ne se ferait pas sur un champ unique comme ici (category), mais avec une jointure vers une autre table (du moins si la base est bien faite ;))

Un produit pourrait effectivement être présent dans plusieurs catégories, mais puisque ta table ne peut contenir qu'un seul champ nommé "category", cela signifierait que pour un même produit, tu aurais plusieurs enregistrements. Chacun d'eux serait alors soit petit, soit bleu, mais chaque enregistrement en base ne pourrait être à la fois petit et bleu :)

Re: select from where multiple ?

par MaximusCMS » 03 avr. 2010, 13:05

c'est vrai mdr, ahaha ça ne m'a même pas explosé aux yeux lol
bien vu ryle :)

Le OR qui tue le AND :)

mais ... il y a un mais, suivant comment est foutu la table, cette possibilité est envisageable toutefois ! ( un produit pouvant être présent dans 2 catégories en même temps comme 'petit' ET 'bleu' )

Re: select from where multiple ?

par Ryle » 03 avr. 2010, 12:57

salut, effectivement il n'y a aucune colonne de sélectionnée :cry:
C'est surtout que tu ne risques pas de trouver beaucoup d'enregistrements dont le champ "category" sera à la fois égal à 130 et dans le même temps égal à 131 ;)

Si tu veux les enregistrements correspondant à l'un OU à l'autre, il te faut utiliser l'opérateur OR :
WHERE category = 130 OR category = 131
ou comme l'a proposé datesta, l'opérateur IN qui permet de spécifier une liste de valeurs :
WHERE category IN (130,131)

Re: select from where multiple ?

par datesta » 03 avr. 2010, 11:43

ou
SELECT * FROM `produit` WHERE `category`IN (130,131)

Re: select from where multiple ?

par MaximusCMS » 03 avr. 2010, 10:37

salut, effectivement il n'y a aucune colonne de sélectionnée :cry:

un truc de ce type serait déjà mieux
SELECT * FROM `produit` WHERE `category`=130 AND `category` = 131
il serait de bonne augure d'optimiser la requête et de préciser les colonnes, un peu comme ceci
SELECT `col1`, `col2`, `col3` FROM `produit` WHERE `category` = 130 AND `category` = 131
Nota: respecter la casse rend le code plus lisible pour la suite ... et pour les autres, par exemple un SELECT est plus lisible qu'un select ( mais tout n'est qu'affaire de goûts personnels, le tout étant de bien suivre le même système de partout :) )

Re: select from where multiple ?

par Calimero » 03 avr. 2010, 03:30

select from produit where category=130 AND category=131
Ce qui est la réponse exacte à sa question... :)

Mais ne risque pas de marcher par ailleurs. #-o

Re: select from where multiple ?

par devlop78 » 03 avr. 2010, 03:06

select from produit where category=130 AND category=131

select from where multiple ?

par Invité » 03 avr. 2010, 01:01

bonsoir,
pardon pour ma question de débutant

comment je fais pour pour faire un where multiple

Code : Tout sélectionner

select from produit where category=130 AND 131
130 ca marche mais AND 131 ne marche pas

j'ai essayé avec la virgule pareil

si quelqu'un peux m'aider
merci