Mysql
 sql >> Database >  >> RDS >> Mysql

Metodo dei campi di ricerca MySQL

Quindi, se supponiamo che le colonne name e colors sono le uniche colonne che dobbiamo cercare, farei quanto segue (soluzione ingenua ma funzionerà bene se il tuo DB non ha milioni di righe e non hai migliaia di clienti che cercano contemporaneamente).

Innanzitutto, crea una vista

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

Non conosco il nome della tabella nel tuo screenshot, quindi ho usato table come il suo nome.

Ora, se un utente cerca adult red pants potresti emettere una query

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

Ovviamente, dovresti generare la query al volo, ma non è un problema. Puoi giocare usando AND o OR e inserendo degli spazi tra il simbolo jolly % e il termine di ricerca. Probabilmente vorresti anche fare la vista in un modo più sofisticato, ad esempio, fare più di un semplice CONCAT .