Mailinglisten-Archive |
Hallo Andreas, > ich habe eine Tabelle, in der mehrere Felder zur genaueren Bestimmung > des Datensatzes dienen. > > Beispiel: > id,text,kat1,kat2,kat3,kat.... > > dabei sind die kat-Felder vom Typ varchar(255) und können diverse Zahlen > enthalten in der Form > kat1 = 1;25;17 > kat2 = 3;7;10 etc... > Jemand eine Idee oder einen Tipp oder liege ich völlig auf dem Holzweg? RegExpr. sind toll, aber im Vergleich zu "purem" sql meines Wissens langsam. Wenn ich das richtig sehe, möchtest du eine n:m Verknüpfung abbilden. Ich würde die Struktur aufteilen: eine Tabelle mit dem "eigentlichen" Datensatz, ein Tabelle mit den "Kategorien" (Inhalt deines Vergleichsfeldes, pro Eintrag eine Zeile), eine Mapping-Tabelle in der die Verknüpfungen stehen (pro Zeile: ID Datensatz, ID Kategorie) Auslesen dann mit join. Mit den richtigen Indizes geht das sehr performant. Beispiel: create table artikel (id int, name char(30) ); create table gruppen (id int, name char(30)); create table mapping (art_id int, grp_id int ); -- drei Artikel anlegen insert into artikel values( 1, 'Artikel 1'); insert into artikel values( 2, 'Artikel 2'); insert into artikel values( 3, 'Artikel 3'); -- drei Gruppen anlegen insert into gruppen values( 1, 'Gruppe 1'); insert into gruppen values( 2, 'Gruppe 2'); insert into gruppen values( 3, 'Gruppe 3'); -- Artikel 1 ist in Gruppe 1, 2 und 3 insert into mapping values( 1, 1); insert into mapping values( 1, 2); insert into mapping values( 1, 3); -- Artikel 2 ist in Gruppe 1 insert into mapping values( 2, 1); -- Artikel 3 ist in Gruppe 1 insert into mapping values( 3, 1); -- Alle Artikel aus Gruppe 1 auslesen select * from artikel, mapping where mapping.art_id = artikel.id and mapping.grp_id = 1 Gruß, Rüdiger ______________________________________________________________________________ Jetzt 52 verschiedene Briefpapiere für Ihre E-Mails bei WEB.DE FreeMail - http://freemail.web.de/features/?mc=021140 -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive