Ho sempre pensato che fosse possibile utilizzare OR
in uno stato LIKE
per eseguire query in MySQL. Quindi, se ho voluto confrontare più campi di fila per 1 parola chiave o un termine:Utilizzo di OR in LIKE Query in MySQL per confrontare più campi
SELECT * FROM MyTable WHERE Column1 OR Column2 LIKE '%keyword%';
e se ho avuto una serie di parole per confrontare:
SELECT * FROM MyTable WHERE Column1 OR Column2 LIKE '%keyword1%'
AND Column1 OR Column2 LIKE '%keyword2%';
Non credo che la sintassi è corretto, comunque. C'è un metodo efficace di scrivere questo oltre a qualcosa di simile:
SELECT * FROM MyTable WHERE Column1 LIKE '%keyword1%' OR Column2 LIKE
'%keyword1%' AND Column1 LIKE '%keyword2%' OR Column2 LIKE '%keyword2%';
Sto andando su questo correttamente?
Mi sto solo interrogando sull'algoritmo della "matrice di parole" ... Sei sicuro di voler recuperare i risultati se una colonna è come una parola E se una colonna è come un'altra? Mi sembra abbastanza inefficiente per me – Sebas
puoi anche usare le procedure. – vijay
Le parole chiave provengono da un campo di ricerca, quindi gli utenti vorranno cercare un database in base a molti campi. Se usano 2 parole nel loro termine di ricerca, ha ancora senso cercare in entrambe le colonne questo termine. Non voglio escludere un campo perché esiste la possibilità che contengano più parole correlate. – RCNeil