Siempre pensé que podría usar OR
en una declaración LIKE
para consultar cosas en MySQL. Por lo tanto, si quería comparar varios campos en una fila para 1 palabra clave o expresión:Usando OR en LIKE Query en MySQL para comparar múltiples campos
SELECT * FROM MyTable WHERE Column1 OR Column2 LIKE '%keyword%';
y si tuviera una matriz de palabras para comparar:
SELECT * FROM MyTable WHERE Column1 OR Column2 LIKE '%keyword1%'
AND Column1 OR Column2 LIKE '%keyword2%';
No creo que la sintaxis es correcto, sin embargo. ¿Hay algún método eficiente para escribir esto aparte de algo como:
SELECT * FROM MyTable WHERE Column1 LIKE '%keyword1%' OR Column2 LIKE
'%keyword1%' AND Column1 LIKE '%keyword2%' OR Column2 LIKE '%keyword2%';
¿Voy a hacerlo correctamente?
Me pregunto acerca de su algoritmo de "matriz de palabras" de todos modos ... ¿Está seguro de que desea recuperar resultados si una columna es como una palabra Y si una columna es como otra? Me parece bastante ineficiente – Sebas
puede usar procedimientos también. – vijay
La (s) palabra (s) clave provienen de un campo de búsqueda, por lo que los usuarios querrán buscar en una base de datos basada en muchos campos. Si usan 2 palabras en su término de búsqueda, tiene sentido buscar ambas columnas para este término. No quiero excluir un campo porque existe la posibilidad de que contengan varias palabras relacionadas. – RCNeil