2010-08-22 3 views
1

Bonjour je » essayer de sélectionner de la colonne rejoint: quelqu'unEst-il possible d'effectuer une recherche de texte intégral par rapport à une colonne jointe?

SELECT 
    A.idAd, 
    A.ads_in_Cat, 
    A.title, 
    A.currency, 
    A.price, 
    A.in_dpt, 
    A.description, 
    D.*, 
    S.* 
FROM ads A 
LEFT JOIN dept D ON D.id_dept = A.in_dpt 
LEFT JOIN sub_cat_ad AS ON S.id_sub_cat = A.ads_in_Cat 
WHERE MATCH(A.title, A.description) AGAINST(:searchTerm) 
    OR MATCH (S.sub_cat_name) AGAINST(:searchTerm) 

pourrait s'il vous plaît me dire pourquoi MySQL retourne: 1191 Vous ne trouvez pas l'index FULLTEXT correspondant à la liste des colonnes dans ... à moins d'utiliser IN BOOLEAN MODE?

PS la table S a le texte intégral défini pour chaque colonne. MySQL ver 5.1.49

+0

Je remarque que vous manque une virgule après 'A.title', mais je doute que c'est la cause du problème . –

+2

Oui, cela ferait planter la requête d'une manière complètement différente. J'ai édité et ajouté la virgule. –

+0

D'ailleurs, vous avez 'WHERE MATCH (A.titlee,' au lieu de 'WHERE MATCH (A.title,'.) Je suppose que ce n'est pas une copie directe et coller de la requête.Si vous le pouvez, peut-être vous devriez remplacer cet exemple par un copier-coller de la vraie? –

Répondre

1

Vous obtenez toujours l'erreur lorsque vous utilisez:

SELECT A.idAd, 
      A.ads_in_Cat, 
      A.title, 
      A.currency, 
      A.price, 
      A.in_dpt, 
      A.description, 
      D.*, 
      s.* 
    FROM ads A 
LEFT JOIN dept D ON D.id_dept = A.in_dpt 
LEFT JOIN sub_cat_ad s ON s.id_sub_cat = A.ads_in_Cat 
         AND MATCH (s.sub_cat_name) AGAINST(:searchTerm) 
    WHERE MATCH(A.title, A.description) AGAINST(:searchTerm) 
+0

Merci OMG Ponies, oui je reçois toujours la même erreur – jartaud

+0

@jartaud: Et si tu n'incluais pas le FTS sur 'sub_cat_ad' du tout Il est utile de connaître le terme de recherche que vous testez aussi –

+0

POnies Oui, parce que l'utilisateur peut rechercher par titre, description ou en entrant simplement le nom de la catégorie – jartaud

Questions connexes