2017-05-26 3 views
-1

I colums haben:sql Elemente auswählen, mit '' getrennt

name ids 
tom 1 
jeg 2 
kom 2,7 
eyr 4,8 
mok 4,12 

Ich habe SQL-Abfrage:

select name from table where ids like %2% 

ich brauche Ergebnis: jeg kom

aber erhalten: jeg kom mok

so wie diese Abfrage zu bearbeiten? Ich verstehe, warum ich mok bekommen, weil gefallen ist% 2%

+1

Mit einem besseren Datenmodell, würden Sie einen Datensatz in Bezug einen Namen zu einer ID und könnte einfach für 'id fragen = 2'. –

+0

Ist es ein Legacy-Modell? – heringer

+0

Nein. Verwenden Sie nicht FIND_IN_SET. Reparieren Sie stattdessen Ihr fehlerhaftes Datenmodell. – Strawberry

Antwort

3

Verwendung find_in_set():

where find_in_set(2, ids) > 0 
+0

Es funktioniert. Vielen Dank – user2289809