ecco il mio problema:
su una pagina web (php e mysql) dovrei implementare una ricerca fulltext
la query funziona benissimo ed è molto veloce, ecco un esempio:
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)codice:SELECT id, titolo, oggetto, descrizione, MATCH(titolo,oggetto,descrizione) AGAINST('parola da cercare') AS attinenza FROM libri ORDER BY attinenza DESC
ad esempio
ma questa query è lentissima e i dati mostrati non sono uguali alla prima querycodice: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
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 alternativo?
grazie

Rispondi quotando
