Salve a tutti sono Federico, solitamente cerco di cavarmela da solo ma questa volta non so dove sbattere la testa.
Supponete che abbia una tabella MySQL chiamata "albums" con una colonna chiamata "generi", e che questa colonna contenga una stringa che concatena con una virgola gli ID dei generi collegati a questo album. Quello che servirebbe a me č verificare se un ID (prendiamo come esempio l'id numero 5) č contenuto in questa stringa, per cui avevo pensato alla funzione IN() in questo modo:
Ma non funziona, in quanto credo che MySQL interpreti "genres" come una stringa, e non come un vettore di interi:codice:SELECT * FROM albums WHERE 5 IN(genres)
Esiste un modo per ovviare a questo problema?codice:SELECT * FROM albums WHERE 5 IN('1,2,3,4,5')
Momentaneamente ho adottato questa soluzione, un po ambigua ma funzionale:
Grazie mille in anticipo!codice:SELECT * FROM albums WHERE genres REGEXP '(,5,|^5,|,5$|^5$)'

Rispondi quotando
), nel link che ho postato c'č la funzione find_in_set() che fa esattamente quello sporco lavoro.
) ma visto che mysql dispone giā di una funzione nativa tanto vale sfruttarla. 