![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 9.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich.
W bazie danych Access mam trzy tabele 1. Procesy Kod ID | Proces -------------- 1 | proc1 2 | proc2 3 | proc1.1 4 | proc3 5 | proc2.1 6 | proc1.2 7 | proc1.1.1 2. Temp Kod ID | ProcID | FatherID --------------------------- 1 | 3 | 1 2 | 6 | 1 3 | 5 | 2 4 | 7 | 3 3.Docs Kod ID | DocName ---------------- 1 | Doc1 2 | Doc2 3 | Doc3 4 | Doc4 5 | Doc5 6 | Doc6 7 | Doc7 8 | Doc8 9 | Doc9 Miedzy tabelami procesy i temp zachodzi zwiazek: proces, ktorego ID jest w ProcID nalezy do procesow, ktore ID sa w w FatherID. Miedzy tabelami temp i docs: docs.ID = temp.ID stad mozemy zbudowac drzewo: Kod proc1 proc1.1 proc1.1.1 proc1.2 proc2 proc2.1 proc3 Ale np proc1.1.1 moze znajdowac sie w calkiem innym miejscu w drzewie albo wystapic w nim kilka razy w innych miejscach, wiec w kazdym przypadku ma inna sciezke . Moje pytanie: Jak skonstruowac polecenie SELECT np jezeli chcemy sie dowiedziec czy procesowi proc1.1.1 jest przypisany jakis dokument z uwzglednieniem ze ten proces ma unikatowa sciezke. Samo polecenie SELECT dla proc1.1.1 wyglada tak:
ale jak uwzglednic, ze sciezka ojcow (fatherID) to w tym przypadku : dla ProcID = 7 FatherID = 3 -> dla ProcID = 3 FatherID = 1 ? Dodam ze pracuje w Excelu, korzystam z metody ADO i dla wybranego procesu potrafie uzyskac sciezke ProcID -> FatherID (czyli liczba przejsc w gore bedzie znana) Chyba stworzylem temat w zlym dziale, prosze moderatora o przerzucenie do dzialu baz danych , pozdrawiam Ten post edytował Ociu 9.09.2011, 11:17:59
Powód edycji: [Ociu]: poprawiłem bbCode
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 05:34 |