mazoolagh
یک شنبه 20 خرداد 1403, 13:30 عصر
سلام و روز خوش
من یک جدول (ساده شده) از یک سری داده سلسله مراتبی دارم
که در اون رابطه پدر-فرزندی به شکل ID , ParentID تعریف شده (معروف به مدل Adjacency List)
ParentID
ID
4
1
4
2
4
3
5
4
7
5
7
6
-1
7
11
8
11
9
11
10
-1
11
14
12
14
13
-1
14
-1
15
19
16
19
17
19
18
-1
19
22
20
22
21
26
22
26
23
26
24
26
25
-1
26
-1
27
و ParentID هر شاخه اصلی با (-1) مشخص میشه
یعنی IDهای 7 و 11 و 14 و 15 و 19 و 26 و 27 فرزندان سطح یک هستن (7 فرزند).
نیاز به یک کوئری دارم که یک ستون دیگه در کنار داده های اصلی بیاره
که در اون هر ID رو بر اساس این که در کدام شاخه اصلی هست گروه بندی کنه:
Group
ParentID
ID
1
4
1
1
4
2
1
4
3
1
5
4
1
7
5
1
7
6
1
-1
7
2
11
8
2
11
9
2
11
10
2
-1
11
3
14
12
3
14
13
3
-1
14
4
-1
15
5
19
16
5
19
17
5
19
18
5
-1
19
6
22
20
6
22
21
6
26
22
6
26
23
6
26
24
6
26
25
6
-1
26
7
-1
27
مهم نیست که این کوئری مستقیما از روی جدول اصلی ساخته بشه،
یا این که نخست چند کوئری (و جدول؟) میانی و کمکی بسازیم
و کوئری نهایی رو روی اونها بنا کنیم؛
خواسته این هست که (تا حد امکان) کد vba و recordset و ... استفاده نکنیم.
من یک جدول (ساده شده) از یک سری داده سلسله مراتبی دارم
که در اون رابطه پدر-فرزندی به شکل ID , ParentID تعریف شده (معروف به مدل Adjacency List)
ParentID
ID
4
1
4
2
4
3
5
4
7
5
7
6
-1
7
11
8
11
9
11
10
-1
11
14
12
14
13
-1
14
-1
15
19
16
19
17
19
18
-1
19
22
20
22
21
26
22
26
23
26
24
26
25
-1
26
-1
27
و ParentID هر شاخه اصلی با (-1) مشخص میشه
یعنی IDهای 7 و 11 و 14 و 15 و 19 و 26 و 27 فرزندان سطح یک هستن (7 فرزند).
نیاز به یک کوئری دارم که یک ستون دیگه در کنار داده های اصلی بیاره
که در اون هر ID رو بر اساس این که در کدام شاخه اصلی هست گروه بندی کنه:
Group
ParentID
ID
1
4
1
1
4
2
1
4
3
1
5
4
1
7
5
1
7
6
1
-1
7
2
11
8
2
11
9
2
11
10
2
-1
11
3
14
12
3
14
13
3
-1
14
4
-1
15
5
19
16
5
19
17
5
19
18
5
-1
19
6
22
20
6
22
21
6
26
22
6
26
23
6
26
24
6
26
25
6
-1
26
7
-1
27
مهم نیست که این کوئری مستقیما از روی جدول اصلی ساخته بشه،
یا این که نخست چند کوئری (و جدول؟) میانی و کمکی بسازیم
و کوئری نهایی رو روی اونها بنا کنیم؛
خواسته این هست که (تا حد امکان) کد vba و recordset و ... استفاده نکنیم.