回答編集履歴
2
コメントを頂いてクエリを追記
answer
CHANGED
@@ -29,4 +29,45 @@
|
|
29
29
|
3 佐藤太郎 佐藤太郎 00033334444 00033334444 00011112222 00033334444
|
30
30
|
3 佐藤太郎 佐藤太郎 00033334444 00033334444 00033334444 00033334444
|
31
31
|
4 佐藤次郎 佐藤次郎 00011112222 00011112222 00011112222 00011112222
|
32
|
+
```
|
33
|
+
|
34
|
+
コメントを受けて考えたクエリ
|
35
|
+
```SQL
|
36
|
+
select
|
37
|
+
main_test.id as main_id,
|
38
|
+
sub_test.id as sub_id,
|
39
|
+
concat(
|
40
|
+
main_test.name1,
|
41
|
+
main_test.name2
|
42
|
+
) as main_name,
|
43
|
+
concat(
|
44
|
+
sub_test.name1,
|
45
|
+
sub_test.name2
|
46
|
+
) as sub_name,
|
47
|
+
concat(
|
48
|
+
main_test.h_phone1,
|
49
|
+
main_test.h_phone2,
|
50
|
+
main_test.h_phone3
|
51
|
+
) as main_h_phone,
|
52
|
+
concat(
|
53
|
+
sub_test.m_phone1,
|
54
|
+
sub_test.m_phone2,
|
55
|
+
sub_test.m_phone3
|
56
|
+
) as sub_m_phone,
|
57
|
+
concat(
|
58
|
+
sub_test.h_phone1,
|
59
|
+
sub_test.h_phone2,
|
60
|
+
sub_test.h_phone3
|
61
|
+
) as sub_h_phone,
|
62
|
+
concat(
|
63
|
+
main_test.m_phone1,
|
64
|
+
main_test.m_phone2,
|
65
|
+
main_test.m_phone3
|
66
|
+
) as main_m_phone
|
67
|
+
from test as main_test inner join test as sub_test
|
68
|
+
on (main_test.name1 = sub_test.name1 and main_test.name2 = sub_test.name2 and
|
69
|
+
( (main_test.h_phone1 = sub_test.m_phone1 and main_test.h_phone2 = sub_test.m_phone2 and main_test.h_phone3 = sub_test.m_phone3 ) or
|
70
|
+
(main_test.m_phone1 = sub_test.h_phone1 and main_test.m_phone2 = sub_test.h_phone2 and main_test.m_phone3 = sub_test.h_phone3 )
|
71
|
+
)
|
72
|
+
)
|
32
73
|
```
|
1
抽出結果に項目名を追加
answer
CHANGED
@@ -16,16 +16,17 @@
|
|
16
16
|
|
17
17
|
こういったところを改善しない限り、期待するパフォーマンスが出ることはないでしょう。
|
18
18
|
|
19
|
-
最後に、提供されたテストデータに対して
|
19
|
+
最後に、提供されたテストデータに対してSQLを実行した結果を載せます。
|
20
20
|
|
21
21
|
これがあなたの望んだ結果に相違ないでしょうか?
|
22
22
|
|
23
23
|
```
|
24
|
+
id main_name sub_name main_h_phone sub_m_phone sub_h_phone main_m_phone
|
24
|
-
1
|
25
|
+
1 佐藤太郎 佐藤太郎 00011112222 00011112222 00011112222 00033334444
|
25
|
-
1
|
26
|
+
1 佐藤太郎 佐藤太郎 00011112222 00033334444 00033334444 00033334444
|
26
|
-
2
|
27
|
+
2 佐藤太郎 佐藤太郎 00011112222 00033334444 00011112222 00011112222
|
27
|
-
2
|
28
|
+
2 佐藤太郎 佐藤太郎 00011112222 00011112222 00011112222 00011112222
|
28
|
-
3
|
29
|
+
3 佐藤太郎 佐藤太郎 00033334444 00033334444 00011112222 00033334444
|
29
|
-
3
|
30
|
+
3 佐藤太郎 佐藤太郎 00033334444 00033334444 00033334444 00033334444
|
30
|
-
4
|
31
|
+
4 佐藤次郎 佐藤次郎 00011112222 00011112222 00011112222 00011112222
|
31
32
|
```
|