MadMe Skrevet 3. mai 2008 Del Skrevet 3. mai 2008 (endret) Hei, jeg står fast på utformingen av en spørring. Eksempel: La oss si jeg har en tabell med kolonnen 'identifier', som har disse radene: 'index/blabla' 'index/blabla/osv' 'index/tralla' 'index/trylle' 'index/trylle/noeannet' Skal så hente ut alle rader som er etterkommere av feltverdien 'index', og skal da få dette resultatsettet: 'index/blabla' 'index/tralla' 'index/trylle' men ikke: 'index/blabla/osv' 'index/trylle/noeannet' altså jeg skal hente ut alle rader som har kun en '/' etter spørreverdien (i dette tilfellet 'index'. Kunne også vært 'index/blabla'. Først lagde jeg denne; WHERE Identifier LIKE '$parent/%' men denne henter selvfølgelig ut alle rader som har '$parent/' i starten. Jeg må vel bruke noe REGEXP for å få løst mitt problem? har sett litt på http://dev.mysql.com/doc/refman/5.0/en/str...operator_regexp, men er ikke såpass god på regexp at jeg skjønner hvordan jeg løser problemet. (bruker mysql 5) Takker for alle innspill Endret 3. mai 2008 av MadMe Lenke til kommentar
Thullball Skrevet 3. mai 2008 Del Skrevet 3. mai 2008 (endret) Hehe.. dette var en hard nøtt. Er ikke så drivende god på regex selv, men etter litt leting fant jeg denne: SELECT * FROM tabell WHERE id REGEXP BINARY '^([^/]+\/[^/]+)$'; Tror denne skal fungere, den fungerte bra i min mysql base ihvertfall. Her er noen gode referanser: RegEx Tester Regular Expression Library Endret 3. mai 2008 av KurtGandalf Lenke til kommentar
MadMe Skrevet 3. mai 2008 Forfatter Del Skrevet 3. mai 2008 Takker for svar Men hvordan utformer jeg REGEXPEN når jeg skal hente du alle etterkommere av 'index/blabla' ? (altså i eksempelet: index/blabla/osv) Har prøvd å sette index/blabla inn i REGEXPEN på forskjellig vis, uten resultat.. Lenke til kommentar
Kul drittunge Skrevet 3. mai 2008 Del Skrevet 3. mai 2008 Foreslår at du lagrer ting hierarkisk heller, med parent_id og id. Lenke til kommentar
JohndoeMAKT Skrevet 3. mai 2008 Del Skrevet 3. mai 2008 Foreslår at du lagrer ting hierarkisk heller, med parent_id og id. Dette støtter jeg også. Et teksthierarki basert på regexp er nok ganske langt fra optimalt her. Lenke til kommentar
MadMe Skrevet 3. mai 2008 Forfatter Del Skrevet 3. mai 2008 1. Jeg har det hierarkisk, mitt problem gjelder noe annet. 2. Den aktuelle spørringen blir kjørt meget sjelden, så ytelsen skulle ikke bli noe problem. 3. Bruker denne måten for å lage hierarkiske data, om dere skulle lure: http://www.sitepoint.com/article/hierarchical-data-database. Lenke til kommentar
j000rn Skrevet 3. mai 2008 Del Skrevet 3. mai 2008 WHERE id LIKE 'index/%" AND id NOT LIKE 'index/%/%' Regexp vil vel bli noe sånt som dette: "index/[^/]*" Ellers støtter jeg også en ordentlig hierkaisk oppbygging... Lenke til kommentar
MadMe Skrevet 3. mai 2008 Forfatter Del Skrevet 3. mai 2008 (endret) WHERE id LIKE 'index/%" AND id NOT LIKE 'index/%/%' Funket! trodde '/' også ble definert av %, så tenkte ikke på den måten. Takker Endret 3. mai 2008 av MadMe Lenke til kommentar
Thullball Skrevet 3. mai 2008 Del Skrevet 3. mai 2008 Bra det løste seg! Jeg la også ut en RegEx tester http://www.mgmweb.no/verktoy/regex-tester hvis du skulle trenge det senere. Er mange andre gode ute på nettet også. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå