Soluzione a breve termine
Usa la funzione TROVA_IN_SET :
WHERE FIND_IN_SET('Queensland', csv_column)
...perché usare LIKE con caratteri jolly su entrambe le estremità è rischioso, a seconda di quante/piccole corrispondenze (e garantisce anche una scansione della tabella). Le prestazioni di LIKE con caratteri jolly su entrambi i lati sono alla pari con REGEXP, il che significa cattivo.
Soluzione a lungo termine
Non memorizzare valori separati da virgole:utilizza una corretta relazione molti-a-molti, che coinvolga tre tabelle:
Cose
- thing_id (chiave principale)
Stati australiani
- State_id (chiave primaria)
- Nome_Stato
Cose_per_Auz_Stati
- thing_id (chiave primaria, chiave esterna per
THINGS
tabella) - State_id (chiave primaria, chiave esterna per
AUSTRALIAN_STATES
tabella)
Avrai bisogno di JOIN per ottenere i dati dalle tre tabelle, ma se vuoi sapere cose come quante sono associate a uno stato particolare o due stati particolari, è il modello corretto.