SQL WHERE MULTI REHCERCHE

SQL WHERE MULTI REHCERCHE - SQL/NoSQL - Programmation

Marsh Posté le 26-12-2007 à 16:59:01    

Bonjour à tous,
 
Tout d'abord avant de commencer ce message brut d'informatique: Joyeuses fêtes à tous.
 
Je suis webmaster et je code actuellemnt un site Internet PHP Mysql
Je souhaite integrer un moteur de recherche.
Je souhaite que ce moteur recherche sur une table principalement (on simplifie ) .
 
En gros j'ai une tabe nommons la table 1 les champs de table 1 sont
id
idlié
field
value
 
 
Je voudrais faire une requete du style  
 
SELECT distinct(idlié) FROM table 1WHERE (field IN(19,39)) AND value!=''
 
C'est a dire que je veux trouver différents idlié qui ont field 19 et 39 à chaque fois et qui pour ces deux field ont une value  qui est differente de vide.
Ici dans ma requete , il me retourne meme si le idlié n'a que 19 pour field ou que 39 et moi je veux les deux.
J'aurais voulu faire :
SELECT distinct(idlié) FROM table 1WHERE field=19 and AND value!='' AND field=39 and AND value!=''.
Mais bien sur AND ne peut s'utiliser qu'une fois sur un champs.
 
 
Quelqu'un à une idée?  
est ce logiquement impossible,
 
En vous remerciant infiniment pour votre réponse qui m'aiderait beaucoup,
 
Anselme

Reply

Marsh Posté le 26-12-2007 à 16:59:01   

Reply

Marsh Posté le 26-12-2007 à 19:37:20    

utilise des OR plutot que des AND.
 
SELECT distinct(idlié)  
FROM table 1
WHERE (field=19 and AND value!='')  
OR (field=39 and AND value!='')


Message édité par moi23372 le 26-12-2007 à 19:38:03
Reply

Marsh Posté le 26-12-2007 à 20:07:32    

Salut ,
 
 
Merci pour ta réponse. Maleuresement le OR est synonyme de OU et moi je voudrais un " A LA FOIS".
Je veux que ma requete me permette de chercher dans toutes les entres de ma table different idlié qui ont à chaque fois une entré avec un field 19 et une value !='' et une autre entre avec un field de 39 et une value !=''.  
 
Voila peut etre c'est un peu plus moins confus,  
 
Merci en tout cas,
 
Anselme

Reply

Marsh Posté le 26-12-2007 à 20:54:51    

essaye ma requête et tu veras que c'est ce que tu m'explique.  
Tu cherche les enregistrement dont field vaut 19 mais ET dont la valeur est différent de vide ET les enregistrements dont field vaut 39 ET que la valeur n'est pas vide.  
 
C'est bien ça, si c'est le cas, la requête que je t'ai donné juste avant fait cela.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed