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:
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 anche tramite script php alternativo?
grazie

Rispondi quotando