so, nachdem mir das regexp-prozedere mal halbwegs klar ist (wurde
hier besprochen) nun eine detaillierte erklärung zu der sache, ich komm da leider nicht ganz klar damit:
ich hab die aufgabe, eine hierarchie für versicherungs-vermittler aufzubauen.
die tabelle sieht dazu wie folgt aus:
- orgnr, varchar(7) -> die "organisationsnummer" ist gemischt aus buchstaben und ziffern, z.b. NG00001 - also siebenstellig
- ld, varchar(7) -> "landesdirektion", aufbau analog zu orgnr, jedoch ist die sache so, dass z.b. bei orgnr "NG..." die ld mit einem "N" beginnt, danach was auch immer (meistens ziffern)
- vmnr, int(7) -> vermittlernummer, rein numerisch. diese ist eindeutig (als id verwendbar)
- name, varchar(100) -> vermittlername
- eintritt, date -> datum des eintritts des vermittlers
- austritt, date -> wie oben
- vmart, varchar(3) -> vermittlerart, also z.b. mak (=makler) usw.
- id, double -> die id (logo)
ok, es gibt jetzt 5 hierarchiestufen und 3 wege:
1. weg: orga (die eigene orga der versicherung, also alle mitarbeiter)
2. bank: vertriebsweg über die banken
3. makler: klar
bei den wegen "orga" und "bank" gibt es eben die 5 stufen (die makler lassen wir mal weg, die sind eigens gegliedert) - als einzig mögliches feld lässt sich hiezu die
orgnr verwenden.
die orgnr für die erste stufe sieht wie folgt aus:
es gibt 2 buchstaben am anfang, danach genau 5 nullen, also z.b.
NG00000 -> das wäre die 1. und oberste hierarchiestufe
die 2. stufe für diesen vermittler hat am beginn die beiden buchstaben (hier NG), danach einen (!!!) weiteren buchstaben, danach ziffern (nicht nur nullen), z.b.:
NG
A0001 -> das wäre die 2. stufe unter "NG00000"
die 3. stufe hat z.b.
NGA
M001 -> also die ersten 3 buchstaben der 2. stufe, danach noch einen (!!!) buchstaben, danach
dieselbe endung (hier "1") wie die 2. stufe
ok, dann die 4. -> NGAM
F01
dann die 5. -> NGAMF
Z01
jetzt sind 2 wege vorstellbar, wie man das aufbauen kann:
1. von oben nach unten, also alle auslesen, die genau 2 buchstaben vorne haben und dann nach unten hin die dazugehörigen gliedern
2. von unten nach oben, also all jene auslesen, welche hinten genau 2 ziffern haben, und dann anhand der letzten ziffer (z.b. "1") und der buchstabenfolge nach oben hin gliedern
und genau da hab ich entweder eine denkblockade und krieg das nicht hin, oder ich kann es ganz einfach nicht
ich hoffe, ich hab das problem mal ordentlich verdeutlicht, und viell. kann mir wirklich wer helfen

)) das wäre super!