Jump to content


Photo

Need some help with a query


  • Please log in to reply
1 reply to this topic

#1 semtex

semtex
  • Members
  • PipPip
  • Member
  • 11 posts

Posted 17 May 2006 - 11:49 PM

I have this query to do a fulltext search in MySQL, which works fine:

$sql = "SELECT ID, title ,
MATCH(title, text)
AGAINST ('" . $keywords . "' IN BOOLEAN MODE) AS score
FROM reviews
WHERE
MATCH(title, text)
AGAINST ('" . $keywords . "' IN BOOLEAN MODE)
ORDER BY score DESC";


Now I need to do the same, but it should not return rows that have these same keywords in the field "person".

So basically it has to return all the rows that have the keywords in the fields "title" or "text", but exclude the rows where the keywords are in the field "person" (as well).

Can this be done in one query?

#2 shoz

shoz
  • Staff Alumni
  • Advanced Member
  • 600 posts

Posted 18 May 2006 - 01:22 PM

You can try the following
WHERE
MATCH(title, text)
AGAINST ('" . $keywords . "' IN BOOLEAN MODE)
AND NOT
MATCH
(person)
AGAINST ('" . $keywords . "' IN BOOLEAN MODE)
ORDER BY score DESC";





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users