PER I MODERATORI: ho scritto per errore questa discussione nel forum PHP
poi ho ritenuto fosse più appropriato in quella DATABASE, l'ho riscritta nel forum giusto,
ma questa non riesco ad eliminarla.
Sorry, non volevo scriverla in tutti e due i forum, è stato un'errore.


su una pagina web (php e mysql) dovrei implementare una ricerca fulltext
la query funziona benissimo ed è molto veloce, ecco un esempio:
codice:
SELECT id, titolo, oggetto, descrizione, MATCH(titolo,oggetto,descrizione) 
AGAINST('parola da cercare') AS attinenza FROM libri 
ORDER BY attinenza DESC
il problema è che devo assolutamente avere anche un dato (es: "foto" è un campo testo che contiene il percorso e il nome della foto ) che si trova in una tabella (foto) diversa da "libri", quindi pensavo di fare una semplice JOIN tra le due tabelle che hanno un campo in comune (id nella tabella libri e id_libro nella tabella foto)

ad esempio

codice:
SELECT p.id,p.titolo,p.oggetto, p.descrizione,
c.foto, MATCH (p.titolo,p.oggetto,p.descrizione) AGAINST ('parola da cercare') AS attinenza 
FROM libri p
LEFT JOIN foto c ON c.id_libro = p.id
WHERE
MATCH (p.titolo,p.oggetto,p.descrizione) AGAINST ('parola da cercare') 
GROUP BY p.titolo  ORDER BY attinenza DESC
ma questa query è lentissima e i dati mostrati non sono uguali alla prima query
insomma non risulta valida.

La domanda è questa: è possibile ottenere una risposta come la prima query ma ottenendo anche il valore del campo "foto" che si trova nell'altra tabella?
sbaglio qualche cosa?
esiste un sistema valido anche tramite script php alternativo?

grazie