回答編集履歴

1

コメントを受け追記

2015/12/14 05:18

投稿

moredeep
moredeep

スコア1507

test CHANGED
@@ -37,3 +37,81 @@
37
37
  AND sqlNum = minSqlNum
38
38
 
39
39
  ```
40
+
41
+
42
+
43
+ コメントを受け追記:
44
+
45
+
46
+
47
+ 私が載せたSQLが悪いかもしれません。
48
+
49
+
50
+
51
+ SQL結果1,2,3をUNIONしたviewをWITH句で用意しようとしていますが、
52
+
53
+ WITHの中にサブクエリを書くことはできません。
54
+
55
+
56
+
57
+ もし、SQL結果1,2,3を出すのにサブクエリを使用しているのであれば、
58
+
59
+ ↑の方法は使えません。
60
+
61
+
62
+
63
+ 以下でも出来ないですかね。
64
+
65
+
66
+
67
+ ```SQL
68
+
69
+ SELECT 項目1, 項目2, 項目3, 項目4
70
+
71
+ FROM
72
+
73
+ (SELECT 項目1, 項目2, 項目3, 項目4, sqlNum = 1 FROM SQL結果1
74
+
75
+ UNION
76
+
77
+ SELECT 項目1, 項目2, 項目3, 項目4, sqlNum = 2 FROM SQL結果2
78
+
79
+ UNION
80
+
81
+ SELECT 項目1, 項目2, 項目3, 項目4, sqlNum = 3 FROM SQL結果3) as main,
82
+
83
+ (SELECT sub2.項目1, min(sub2.sqlNum) as minSqlNum
84
+
85
+ FROM (SELECT 項目1, 項目2, 項目3, 項目4, sqlNum = 1 FROM SQL結果1
86
+
87
+ UNION
88
+
89
+ SELECT 項目1, 項目2, 項目3, 項目4, sqlNum = 2 FROM SQL結果2
90
+
91
+ UNION
92
+
93
+ SELECT 項目1, 項目2, 項目3, 項目4, sqlNum = 3 FROM SQL結果3) as sub2
94
+
95
+ GROUP BY 項目1) as sub
96
+
97
+ WHERE
98
+
99
+ main.項目1 = sub.項目1
100
+
101
+ AND sqlNum = minSqlNum
102
+
103
+ ```
104
+
105
+
106
+
107
+
108
+
109
+ あと、DB(SQL)はいくつか種類がありますが、
110
+
111
+ それごとに書き方に違いがあります。
112
+
113
+
114
+
115
+ どのDBを使用しているかによって、動作する、しないが別れてしまいます。
116
+
117
+