質問編集履歴
1
表を用いて質問したが、表が物凄く見づらいため。
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,13 +4,13 @@
|
|
4
4
|
|
5
5
|
MySQL(バージョン5.7)で以下のような3つのテーブルを用意しました。
|
6
6
|
|
7
|
-
-
|
7
|
+
- table1(無限にデータがあることを想定)
|
8
8
|
|
9
9
|
|
10
10
|
|
11
|
-
|
|
11
|
+
|id|name|
|
12
12
|
|
13
|
-
|:--|:--:|
|
13
|
+
|:--:|:--:|
|
14
14
|
|
15
15
|
|1|メイン1|
|
16
16
|
|
@@ -32,31 +32,19 @@
|
|
32
32
|
|
33
33
|
|
34
34
|
|
35
|
-
-
|
35
|
+
- table2(このテーブルとtable1のidが紐づき、無限にデータがあることを想定)
|
36
36
|
|
37
37
|
|
38
38
|
|
39
|
-
|
|
39
|
+
|id|subid|
|
40
40
|
|
41
|
-
|:--|:--:|
|
41
|
+
|:--:|:--:|
|
42
42
|
|
43
43
|
|1|1|
|
44
44
|
|
45
45
|
|1|2|
|
46
46
|
|
47
|
-
|1|4|
|
48
|
-
|
49
|
-
|1|7|
|
50
|
-
|
51
|
-
|1|10|
|
52
|
-
|
53
47
|
|2|3|
|
54
|
-
|
55
|
-
|2|7|
|
56
|
-
|
57
|
-
|2|8|
|
58
|
-
|
59
|
-
|2|10|
|
60
48
|
|
61
49
|
|…|…|
|
62
50
|
|
@@ -64,49 +52,35 @@
|
|
64
52
|
|
65
53
|
|
66
54
|
|
67
|
-
-
|
55
|
+
- table3(このテーブルとtable2のsubidが紐づき、データは最大3個を想定)
|
68
56
|
|
69
57
|
|
70
58
|
|
71
|
-
|sub
|
59
|
+
|subid|subname|
|
72
60
|
|
73
|
-
|:--|:--:|
|
61
|
+
|:--:|:--:|
|
74
62
|
|
75
|
-
|1|
|
63
|
+
|1|サブ1|
|
76
64
|
|
77
|
-
|2|
|
65
|
+
|2|サブ2|
|
78
66
|
|
79
|
-
|3|
|
67
|
+
|3|サブ3|
|
80
|
-
|
81
|
-
|4|マスター4|
|
82
|
-
|
83
|
-
|5|マスター5|
|
84
|
-
|
85
|
-
|6|マスター6|
|
86
|
-
|
87
|
-
|7|マスター7|
|
88
|
-
|
89
|
-
|8|マスター8|
|
90
|
-
|
91
|
-
|9|マスター9|
|
92
|
-
|
93
|
-
|10|マスター10|
|
94
|
-
|
95
|
-
|
96
68
|
|
97
69
|
|
98
70
|
|
99
71
|
このときに外部結合をうまく利用して以下のような結果が出力されるselect文を作成したいです。
|
100
72
|
|
101
|
-
|main_id|main_name|sub_id=1のmaster_name|main_idに対してsub_tableのsub_id=1が存在するか|sub_id=2のmaster_name|main_idに対してsub_tableのsub_id=2が存在するか|sub_id=3のmaster_name|main_idに対してsub_tableのsub_id=3が存在するか|sub_id=4のmaster_name|main_idに対してsub_tableのsub_id=4が存在するか|sub_id=5のmaster_name|main_idに対してsub_tableのsub_id=5が存在するか|sub_id=6のmaster_name|main_idに対してsub_tableのsub_id=6が存在するか|sub_id=7のmaster_name|main_idに対してsub_tableのsub_id=7が存在するか|sub_id=8のmaster_name|main_idに対してsub_tableのsub_id=8が存在するか|sub_id=9のmaster_name|main_idに対してsub_tableのsub_id=9が存在するか|sub_id=10のmaster_name|main_idに対してsub_tableのsub_id=10が存在するか|
|
102
73
|
|
103
|
-
|:--|:--:|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:|
|
104
74
|
|
105
|
-
|
|
75
|
+
|id|name|subid=1のsubname|idに対してtable2のsubid=1が存在するか|subid=2のsubname|idに対してtable2のsubid=2が存在するか|subid=3のsubname|idに対してtable2のsubid=3が存在するか|
|
106
76
|
|
107
|
-
|
|
77
|
+
|:--:|--|--|--|--|--|--|--|
|
108
78
|
|
79
|
+
|1|メイン1|サブ1|存在する|サブ2|存在する|サブ3|存在しない|
|
80
|
+
|
81
|
+
|2|メイン2|サブ1|存在しない|サブ2|存在しない|サブ3|存在する|
|
82
|
+
|
109
|
-
|…|…|…|…|…|…|…|…|…|…|…|…|
|
83
|
+
|…|…|…|…|…|…|…|…|…|…|…|…|
|
110
84
|
|
111
85
|
|
112
86
|
|