Probleme sql avec WHERE AND

Eléphant du PHP | 101 Messages

02 août 2006, 17:19

Bonjour,

Voila j'ai la table suivante

table cust_cat

CID---REF
1-------1
1-------4
6-------2
6-------1
5-------3
5-------1
4-------4
4-------1
7-------1
8-------1
8-------2
9-------1
9-------3
10------1
10------2

je souhaiterai interoger la base de donnees
pour selectionner que les CID qui ont pour REF 1 et 2
le resultat que j'attend est le suivant

CID
6
8
10

J'ai effectuer la requette suivante

SELECT CID FROM cust_cat
WHERE (`cust_cat_ref_id` =2)
AND
(`cust_cat_ref_id` =1)

Seulement voila la requette ne me retourne aucun
resultat j'ai essayer de faire autre chose mais ca ne
marche pas nonplus
est ce que quelqun peut-il m'eclairer ?

Merci

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

02 août 2006, 17:38

Dans une ligne, il y a une colonne CID et il y a une colonne REF, comment cette ligne peut donc avoir une REF égale à 1 et égale à 2 en même temps :?:

Ce n'est pas le AND qu'il faut utiliser mais le...

Eléphant du PHP | 101 Messages

02 août 2006, 17:54

Merci beaucoup,

j'ai compris et je vais chercher


bye

LRaiser
Invité n'ayant pas de compte PHPfrance

02 août 2006, 18:12

Tu vs chercher où?

:roll:

Eléphant du PHP | 101 Messages

03 août 2006, 09:13

ba je vais chercher dans ma tête tien :idea:

en faite je sais pas si vous avez bien compri ce que je vouler


Dans une ligne, il y a une colonne CID et il y a une colonne REF, comment cette ligne peut donc avoir une REF égale à 1 et égale à 2 en même temps Question

Ce n'est pas le AND qu'il faut utiliser mais le...
si c'est OR a quoi vous pensé ce n'est pas ce resultat la que je veut

SELECT CID FROM cust_cat
WHERE (`cust_cat_ref_id` =2)
OR
(`cust_cat_ref_id` =1)

cette requette va m'afficher toute les ligne ayan pour REF 1 et REF 2

je cherche en faite a extraire les ligne d'un CID qui aura REF 1 et REF 2 exemple CID=1 -> REF=2 et CID=1 -> REF=2

est ce que c'est possible dans une seule requete ?

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

03 août 2006, 09:31

est ce que c'est possible dans une seule requete ?
Oui, en faisant une auto jointure :

Code : Tout sélectionner

SELECT c_c1.cid FROM cust_cat AS c_c1 INNER JOIN cust_cat AS c_c2 ON c_c1.cid = c_c2.cid WHERE c_c1.ref =1 AND c_c2.ref =2

Eléphant du PHP | 101 Messages

04 août 2006, 11:06

J'aurai du pensé a ca l'auto joiture,

Merci ouckileou pour votre aide.


a bientôt

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

04 août 2006, 11:54

De rien, mais il faut penser à cliquer sur Résolu :)