MySQL - Datensatz als CVS - Where möglich?

fi**en32

Lieutenant
Registriert
Mai 2007
Beiträge
968
hi leutz,

ich hab da mal wieder ne frage.

ich habe in einem datensatz eine kleine cvs-strucktur
bsp:

tab1:
id [INT (auto...)]
cvs ['1,4,2,6,3']

nun möchte ich alle ids haben, wo in den cvs-daten 3 enthalten ist. achtung 30 soll es nicht ausgeben

geht sowas direkt ueber mysql oder muss ich alle datensätze auslesen und nachträglich kontrollieren ob die werte in dem cvs-string sind?
 
könntest z.b. mit nem regexp lösen ...

select id from tab1 where text regexp '^3,|,3,|,3$' or text = '3'

damit müsste eigentlich alles abgefangen sein.

der sinn dahinter sei einmal dahingestellt...kommaseparierte textfelder haben imho NICHTS in einem relationalen datenbanksystem verloren ... ich hätte dafür eine separate mapping tabelle gemacht.

<edit>
http://dev.mysql.com/doc/refman/5.1/en/regexp.html
 
das is doch schon mal genau das richtige ^^

dank dir!

insgesamt haste sicherlich recht damit, nur nachträglich das script ändern is durch den umfang schon recht schwer ...
 
Zurück
Oben