phpbar.de logo

Mailinglisten-Archive

Genaue "Treffer" in kommasepararierten Werten finden

Genaue "Treffer" in kommasepararierten Werten finden

Norbert Pfeiffer norbert@itbw.de
Sat Dec 7 15:38:38 2002


Hallo Eike,

> Ich habe ein Feld mit kommagetrennten Werten
> .. 12,20,31...
okay,
Du hast intelligenterweise den Datentyp SET verwendet ?!
Andernfalls hats Du schon eine Antwort von Heiko, wobei
Du jedoch die Kommas am Anfang und Ende des Strings nicht
vergessen solltes, sonst klappts nicht ... ;-)

[zu SET]
Dieser Typ arbeitet wie ein Array, d.h. Du kannst sowohl
nach dem Value als auch nach dem Index suchen lassen ...
Beispiel:
'1'=>'Apfel'
'2'=>'Birne'
'3'=>'Pflaume'
steht in dem Feld 'sorte' wie:   1,2,3
wird aber als String angezeigt:  'Apfel,Birne,Pflaume'
und gesucht wird:
SELECT * FROM obst WHERE sorte = 2;
oder
SELECT * FROM obst WHERE sorte = 'Birne';

Nachteil ist jedoch, dass man vorab wissen muss, welche
Obstsorten in Frage kommen und dass es nicht mehr als 64
sein duerfen.
Bei mehr als 64 Varianten solltest Du jedoch ueber eine
Normalisierung der Datenbank nachdenken, da Dir sonst
ungeahnte Probleme ins Haus stehen koennen.


m. b. G. Norbert
_____________________
normal:  02292-681769
Notruf:  0177-2363368
---------------------
e.o.m.

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive