Requete Booléene sur table croisée ?

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 : Requete Booléene sur table croisée ?

par furiouslol » 09 déc. 2008, 16:34

BOn ce ci dit si t'es partit sur une solution séparée ... Je pensais que tu avais fais la requete avec le OU en une seule requete

par furiouslol » 09 déc. 2008, 16:33

Merci pour ton avis mais on ne va retourner que les résultats ayant le même nombre de mots que dans la recherche ?
Ben si tu veux bien les fichiers qui contiennent tous les mots de ta recherche, oui

par __Nico » 09 déc. 2008, 16:29

Salut,

Je ne connais pas ta requete originale, mais il y a de forte chance qu'un

Code : Tout sélectionner

group by id_fichier
suivit d'un

Code : Tout sélectionner

having count(id_mot)=nombre de mot
fonctionne dessus. Cela suppose évidement de connaitre ce chiffre (le nombre de mots recherché, mais ce traitement peut etre fait au préalable en php)

Je pensais faire une INTERSECTION mais cette commande n'a pas l'air d'etr supportée en mysql, quelqu'un a t'il des infos dessus ?

Bon sinon y a surement d'autres manieres de faire
Merci pour ton avis mais on ne va retourner que les résultats ayant le même nombre de mots que dans la recherche ?
Je suis parti sur le principe de dissocier chacune des recherches sur 1 mot et de fusionner les tableaux de résultats, pas top mais ça fonctionne....

par furiouslol » 09 déc. 2008, 16:25

Salut,

Je ne connais pas ta requete originale, mais il y a de forte chance qu'un

Code : Tout sélectionner

group by id_fichier
suivit d'un

Code : Tout sélectionner

having count(id_mot)=nombre de mot
fonctionne dessus. Cela suppose évidement de connaitre ce chiffre (le nombre de mots recherché, mais ce traitement peut etre fait au préalable en php)

Je pensais faire une INTERSECTION mais cette commande n'a pas l'air d'etr supportée en mysql, quelqu'un a t'il des infos dessus ?

Bon sinon y a surement d'autres manieres de faire

Re: Requete Booléene sur table croisée ?

par __Nico » 09 déc. 2008, 11:00

Au fait c'est du php5/mysql5
Bjour,
j'aurais besoin de vos lumières pour une requete mysql que je n'arrive pas à écrire.

J'ai 3 tables :
1 table fichier
1 table mot
1 table lien_mot_fichier

1 fichier possède x mots et les ids sont renseignés dans la table lien_mot_fichier.

je voudrais faire des requêtes de type : retourne moi tous les fichiers possédant le mot A ou le mot B, là j'y arrive.
par contre si je veux les fichiers qui contiennent A et B, là je cale...
si je fais la jointure sur les tables je ne travaille que sur une occurence du mot.

merci de vos conseils

Requete Booléene sur table croisée ?

par __Nico » 09 déc. 2008, 10:59

Bjour,
j'aurais besoin de vos lumières pour une requete mysql que je n'arrive pas à écrire.

J'ai 3 tables :
1 table fichier
1 table mot
1 table lien_mot_fichier

1 fichier possède x mots et les ids sont renseignés dans la table lien_mot_fichier.

je voudrais faire des requêtes de type : retourne moi tous les fichiers possédant le mot A ou le mot B, là j'y arrive.
par contre si je veux les fichiers qui contiennent A et B, là je cale...
si je fais la jointure sur les tables je ne travaille que sur une occurence du mot.

merci de vos conseils