Version 4
24.11.2009 15:50:13
Dies ist die aktuelle Version
Edit: Ich hab die Frage mal anders gestellt. Hoffe jetzt ist mein Ziel verständlicher.Ich möchte eine Art Produkt/Materialdatenbank abbilden.
Jedes Produkt besteht aus N Materialien wobei jedes Material selber auch wieder als Produkte betrachtet wird welches aus N Materialien besteht.
Beispiel:

Um das Produkt 1 Herzustellen, brauche ich das Produkt 2 sowie 3 und 4. Da ich nicht für jedes Produkt und zwischenprodukt die Preis einzeln ausrechnen möchte, möchte ich die Preis pro Ausgangsmaterial eintragen.
1 kg Aluminium = 100 EURO
1 kg PVC-Granulat = 123 EURO
100 Stück Schrauben Typ 32 = 14 EURO
100 Stück Schrauben Typ 43 = 16 EURO
100 Stück Elektroplatinen = 866 EUO
...
Aus dem 2kg Aluminum und dem 1kg PVC Granulat stell ich nun 1 Gehäuse her. Aus 1 Gehäuse + 50 Schrauben + 5 Elektroplatinen kann ich eine Steuereinheit bauen. Aus 5 Steuereinheiten + Ein anderes Gehäuse + Motor + diverse anderes Zeugs stell ich mein Endprodukt her.
Die Frage ist, wie ich das mittels HierarchyId oder Common Table Expressions abbilde.
Zeil ist es, mittels einer SQL-Abfrage zu sagen:
1. Selektiere alle Materialien für Produkt X und gib mir die Gesammtmenge der Matierialien sowie der Kosten dafür aus.
Selectiere alle Materialien für Produkt X und gib mir Name, Preis pro VPE etc. aus für jedes einzelene Zwischenprodukt beginnend von ganz unten aus.
Jedes der 4000 Produkt besteht aus X zwischen Produkten oder ist selbst in einem Produkt enthalten.
Als Beispiel, das Produkt "Werkzeugkoffer" besteht aus der Einzelprodukten "Schraubenzieher X1","Schraubenzieher X2",.., "Maulschlüssel 1", "Maulschlüssel 2",..
Für die Herstellung für jeden Schraubenzieher brauch einen Griff. Der Griff selbst ist wieder ein Produkt das ich für verschiedene Zwecke brauchen kann (z.B. als Griff für einen Schraubenzieher oder als Ersatzteil).
Das geht solange bis wir beim Metall, PVC und allem anderen benötigten ankommen.