Page 1 sur 1

Probleme sql avec WHERE AND

Posté : 02 août 2006, 17:19
par brani
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

Posté : 02 août 2006, 17:38
par ouckileou
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...

Posté : 02 août 2006, 17:54
par brani
Merci beaucoup,

j'ai compris et je vais chercher


bye

Posté : 02 août 2006, 18:12
par LRaiser
Tu vs chercher où?

:roll:

Posté : 03 août 2006, 09:13
par brani
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 ?

Posté : 03 août 2006, 09:31
par ouckileou
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

Posté : 04 août 2006, 11:06
par brani
J'aurai du pensé a ca l'auto joiture,

Merci ouckileou pour votre aide.


a bientôt

Posté : 04 août 2006, 11:54
par ouckileou
De rien, mais il faut penser à cliquer sur Résolu :)