回答編集履歴
2
回答修正
test
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
自分のサーバー(MySQL)でテスト環境を作り検証しましたところ、
|
2
|
+
|
3
|
+
いくつか間違いがあったので修正しました。
|
4
|
+
|
5
|
+
実機動作の確認が出来たので、下記SQLを修正しました。
|
6
|
+
|
7
|
+
(MySQLでは[]が使用できないので``に置換が必要です。)
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
---
|
12
|
+
|
1
13
|
こんな感じでしょうか?
|
2
14
|
|
3
15
|
未検証ですがたぶん動くと思います。
|
@@ -8,35 +20,45 @@
|
|
8
20
|
|
9
21
|
SELECT
|
10
22
|
|
11
|
-
|
23
|
+
[parent].[col_group]
|
12
24
|
|
13
|
-
|
25
|
+
, [parent].[path] AS root_path
|
14
26
|
|
15
|
-
|
27
|
+
, [parent].[root_size]
|
16
28
|
|
17
|
-
|
29
|
+
, [children].[size_sum]
|
18
30
|
|
19
31
|
FROM
|
20
32
|
|
21
|
-
(SELECT group
|
33
|
+
(SELECT [T_table].[group] AS col_group
|
22
34
|
|
23
|
-
|
35
|
+
, [path]
|
24
36
|
|
37
|
+
, [size] AS root_size
|
38
|
+
|
39
|
+
FROM [t_table]
|
40
|
+
|
25
|
-
WHERE path_hierarchy = 0) parent
|
41
|
+
WHERE [path_hierarchy] = 0) parent
|
42
|
+
|
43
|
+
|
26
44
|
|
27
45
|
LEFT JOIN
|
28
46
|
|
29
|
-
(SELECT group
|
47
|
+
(SELECT [t_table].[group] AS col_group
|
30
48
|
|
31
|
-
|
49
|
+
, SUM([size]) AS size_sum
|
32
50
|
|
33
|
-
|
51
|
+
FROM [t_table]
|
34
52
|
|
35
|
-
|
53
|
+
WHERE [path_hierarchy] <> 0
|
36
54
|
|
55
|
+
GROUP BY [t_table].[group]) children
|
56
|
+
|
37
|
-
ON [parent].[group] = [children].[group]
|
57
|
+
ON [parent].[col_group] = [children].[col_group]
|
38
58
|
|
39
59
|
|
60
|
+
|
61
|
+
;
|
40
62
|
|
41
63
|
```
|
42
64
|
|
1
誤記訂正
test
CHANGED
@@ -26,7 +26,7 @@
|
|
26
26
|
|
27
27
|
LEFT JOIN
|
28
28
|
|
29
|
-
(SELECT group, SUM(size) AS size_sum
|
29
|
+
(SELECT group, SUM(size) AS size_sum
|
30
30
|
|
31
31
|
FROM T_table
|
32
32
|
|