質問編集履歴
1
具体例の追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -12,11 +12,45 @@
|
|
12
12
|
|
13
13
|
の xxxx の部分をそのまま (SELECT ... FROM ...WHERE ... = tbl.id) の値にしたい等。
|
14
14
|
|
15
|
+
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
具体的には
|
20
|
+
|
21
|
+
id-nameが一意なテーブルで、id-nameの数(num) と そのidの総数(isAllがtrueの行のnum) との割合から50%以上の行をSELECTします
|
22
|
+
|
23
|
+
|id|name|num|isAll|
|
24
|
+
|
25
|
+
|:--|:--:|--:||
|
26
|
+
|
27
|
+
|a|あ|2||
|
28
|
+
|
29
|
+
|a|い|3||
|
30
|
+
|
31
|
+
|a||5|true|
|
32
|
+
|
33
|
+
|b|う|4||
|
34
|
+
|
35
|
+
|b||4|true|
|
36
|
+
|
37
|
+
```mySQL
|
38
|
+
|
39
|
+
SELECT xxxx FROM tbl AS tbl_1 WHERE 100*num / (SELECT num FROM tbl WHERE id = tbl_1.id AND isAll = true) > 50
|
40
|
+
|
41
|
+
```
|
42
|
+
|
43
|
+
xxxx に 100*num / (SELECT num FROM tbl WHERE id = tbl_1.id AND isAll = true) の値を出力したいです
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
|
48
|
+
|
15
49
|
相関サブクエリなので、事前に定数としての保持ができず
|
16
50
|
|
17
51
|
AS や SELECT INTO もエラーとなり
|
18
52
|
|
19
|
-
xxxxにそのまま
|
53
|
+
xxxxにそのままWHEREで使用したサブクエリを書けばできるのですが
|
20
54
|
|
21
55
|
何か省略したり結果を使いまわすやり方はあるのでしょうか
|
22
56
|
|