回答編集履歴

2

回答修正

2016/03/08 23:10

投稿

Aeona
Aeona

スコア396

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
- [parent].[group]
23
+ [parent].[col_group]
12
24
 
13
- , [parent].[root_path]
25
+ , [parent].[path] AS root_path
14
26
 
15
- , [parent].[root_size]
27
+ , [parent].[root_size]
16
28
 
17
- , [children].[size_sum]
29
+ , [children].[size_sum]
18
30
 
19
31
  FROM
20
32
 
21
- (SELECT group, root_path, root_size
33
+ (SELECT [T_table].[group] AS col_group
22
34
 
23
- FROM T_table
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, SUM(size) AS size_sum
47
+ (SELECT [t_table].[group] AS col_group
30
48
 
31
- FROM T_table
49
+ , SUM([size]) AS size_sum
32
50
 
33
- WHERE path_hierarchy <> 0
51
+ FROM [t_table]
34
52
 
35
- GROUP BY group) children
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

誤記訂正

2016/03/08 23:10

投稿

Aeona
Aeona

スコア396

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