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

Antwort per Email an