casi242: Teilstring in einem mySQL-Feld abfragen..evtl. find_in_set ?

Beitrag lesen

Hello again !

Jetzt habe ich aber eine Sortierkriterium zur Auswahl, was nicht als Wert alleine in einem Feld steht, sondern mit anderen Werten zusammen.

Das klingt danach, als ob das Datendesign nicht besonders guenstig waere - du solltest dich mit dem Stichwort Normalisierung beschaeftigen.

Das stimmt. Habe auch darüber gelesen. Es muss aber im Moment so bleiben, weils mehr Sinn macht.

select * from MEINETABELLE where find_in_set("MEINKRITERIUM","$FELD")


> >   
> > "$FELD" ist die Variable, indem u. a. der Wert steht, auf die das Feld geprüft werden soll.  
>   
> Und wie sieht das Statement aus, wenn die Variable aufgeloest wurde?  
>   
  
Sja, da bleibe ich mit dem Verständnis hängen.  
  

> Was ist "MEINKRITERIUM", warum steht es in Anfuehrungszeichen?  
>   
  
Ich habe eine Tabelle z. B.:  
  
AUTOMARKE ! ELEKTRONIK  ! ZUSTAND  
\------------------------\_--------  
OPEL      ! ABS         ! GUT  
MERCEDES  ! ESP         ! MITTEL  
FORD      ! ABS         ! GUT  
BMW       ! ABS und ESP ! GUT  
  
"MEINKRITERIUM" wäre also z. B. der reine Text ESP.  
  
Ich möchte, dass bei Auswahl des Filterkriteriums "ESP" alle Autos mit ESP angezeigt werden. Auch die, die ABS haben.  
  
Habs auch schon ohne Klammern versucht, als $meinkriterium versucht und als '$meinkriterium' und als "ESP" und als 'ESP'  
  

> Hast du dir im Handbuch angeschaut, in welcher Reihenfolge FIND\_IN\_SET seine Parameter erwartet?  
  
FIND\_IN\_SET(str,strlist)  
  
So wie ich das verstanden habe, ist str der gesuchte String und in strlist stehen die gesuchten Werte bzw. der Wert...hmh, da ist doch was faul. Evtl doch der falsche Befehl ?  
  
Ich muss einen Teilstring aus einem ganzen String heraussuchen...  
  
Sja, weiss auch nicht so recht weiter...  
  
Gruß und Dank  
  
casi