Am Wednesday, January 22, 2003 8:41 PM [GMT+1Std. Beckstown-Time], hieb Claudius Ceteras <[EMAIL PROTECTED]> in die Tasten :
> >> F�r bestimmte Zwecke (Pflege der Parent-Child-Hierarchien >> etc.) muss ich >> diese Tabelle in folgendes Format "transformieren": >> >> W_1 C_1 C_2 C_5 >> C_3 C_4 Null Null > > Sicher? Mir f�llt nicht wirklich was ein, was das erfordern w�rde... > Und das ist sehr aufwendig... > Wof�r brauchst du es in der Form? Vielleicht ist sie nicht n�tig... Das Problem ist folgendes: Die Ursprungstabelle mit den 2 Spalten (Parent-Child) ist eine Importtabelle. Die Daten M�SSEN in diesem Format so drin stehen, damit ich sie in einen HyperCube (mehrdimensionale Datenbank) importieren kann. Nun kann es aber vorkommen, dass sich Knoten (hier heissen Sie C-Elemente) �ndern bzw. umgeh�ngt werden m�ssen, oder es kommen Konten (letztes Element einer Hierarchie) hinzu oder werden gel�scht. Dies muss ich irgendwie pflegbar darstellen. Der einzige Ausweg w�re XML, dann h�tte man eine aufklappbare Baumstruktur. Nur wie erzeuge ich aus der o.a. Parent-Child-Tabelle ein vern�nftiges XML-File? >> >> Bisher erledige ich das mit (n)JOINS wobei die Tabelle auf sich >> selbst referenziert. Dies geht gut, solange die Tiefe der >> Parent-Child-Hierarchien >> < 10 ist. Alles was dar�ber hinaus geht, laesst den >> SQL-Server endlos (> 5min) rechnen. > > Ja klar... Weil du wahrscheinlich alles mehrfach bekommst... > Einen Pfad zu einem bestimmten Knoten, der 10 Knoten tief ist, > bekommst Du doch bestimmt (mindestens) 7 mal �berlappend, also: > C1 C2 C3 C4 > C2 C3 C4 C5 > ... > C7 C8 C9 C10 > > Bei einem vollen Baum mit Tiefe 10 mit 1024 Blattknoten und insgesamt > 2047 Knoten hast Du nach Deiner Methode > 7168 Records in Deiner Ergebnisliste... > Wenn die letzten drei Werte null sein d�rfen, dann mehr als 10.000 ... > Obwohl 2000 reichen w�rde, um den Baum zu spezifizieren... So sieht das aus..... Das Problem ist halt, dass einige Zweige eines Baumes die Tiefe 10 besitzen, andere hingegen nur 4 oder 7 Dies weiss ich nie vorher. > Wenn der Baum in den Speicher passt, w�rde ich so ne Abfrage > abschicken > Select knoten, parent from b�umen (where baum_id=123) order by knoten Datens�tze sind nicht �ber id spezifizierbar. Es ist bei Abfragestart nicht bekannt, welches das oberste Element eines Baumes ist. Rausbekommen tut man Sie aber mittels SELECT DISTINCT Col001 FROM tbl_struktur WHERE Col001 NOT IN (SELECT DISTINCT Col002 FROM tbl_struktur) Dies wirft mir die obersten Elemente raus. Ich m�sste also das erste der obersten Elemente nehmen, durch die Tabelle rennen und mir die Struktur aufbauen. ich denk mal weiter. Gruss Frank ~~~~~~~~~~~~~~~~~~~~~~~~~~~sponsored by United Planet~~~~~~~~~~~~~~~~~ Kaffeepause im United Planet Communityserver ... http://www.intrexx.com/communityserver _______________________________________________ Coffeehouse mailing list [EMAIL PROTECTED] http://www.glengamoi.com/mailman/listinfo/coffeehouse
