sql >> Base de Datos >  >> RDS >> Mysql

Método de campos de búsqueda MYSQL

Entonces, si suponemos que las columnas name y colors son las únicas columnas en las que necesitamos buscar, haría lo siguiente (solución ingenua pero funcionará bien si su base de datos no tiene millones de filas y no tiene miles de clientes buscando a la vez).

Primero, crea una vista

CREATE VIEW SearchHere AS
SELECT item_id, CONCAT(name, ' ', colors) AS FullDescription
FROM table

No sé el nombre de la tabla en tu captura de pantalla, así que usé table como su nombre.

Ahora, si un usuario busca adult red pants podrías emitir una consulta

SELECT item_id
FROM SearchHere
WHERE FullDescription LIKE '%adult%'
AND FullDescription LIKE '%red%'
AND FullDescription LIKE '%pants%'

Por supuesto, necesitaría generar la consulta sobre la marcha, pero eso no es un problema. Podrías jugar usando AND o OR y colocando espacios entre el símbolo comodín % y el término de búsqueda. Probablemente también le gustaría hacer la vista de una manera más sofisticada, por ejemplo, hacer algo más que CONCAT .