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
.