質問編集履歴

4

修正

2018/01/13 02:34

投稿

yoshi7
yoshi7

スコア48

test CHANGED
File without changes
test CHANGED
@@ -70,7 +70,7 @@
70
70
 
71
71
  FROM TABLE_A a
72
72
 
73
- INNER JOIN TABLEA b ON a.SEI = b.SEI AND a.MEI = b.MEI
73
+ INNER JOIN TABLE_A b ON a.SEI = b.SEI AND a.MEI = b.MEI
74
74
 
75
75
  ```
76
76
 

3

修正

2018/01/13 02:34

投稿

yoshi7
yoshi7

スコア48

test CHANGED
File without changes
test CHANGED
@@ -50,15 +50,65 @@
50
50
 
51
51
  030 田中 哲男 090
52
52
 
53
-
54
-
55
53
  ```
56
54
 
57
55
 
58
56
 
59
- 070と090のIDも抽出するSQLであれば容易に考えられるのですが、
57
+ 070と090、110のIDも抽出するSQLであれば容易に考えられるのですが、
60
58
 
61
59
  それらは重複IDの方に表示するの抽出したくないのです。
60
+
61
+
62
+
63
+ 尚、070と090、110のIDを抽出するSQLは下記になります。
64
+
65
+
66
+
67
+ ```ここに言語を入力
68
+
69
+ SELECT a.ID, a.SEI, a.MEI, b.ID AS 重複ID
70
+
71
+ FROM TABLE_A a
72
+
73
+ INNER JOIN TABLEA b ON a.SEI = b.SEI AND a.MEI = b.MEI
74
+
75
+ ```
76
+
77
+ これを実行すると、抽出結果は下記のようになります。
78
+
79
+
80
+
81
+ ```ここに言語を入力
82
+
83
+ ID SEI MEI 重複ID
84
+
85
+ 010 山田 太郎 070
86
+
87
+ 010 山田 太郎 110
88
+
89
+ 030 田中 哲男 090
90
+
91
+ 070 山田 太郎 010
92
+
93
+ 070 山田 太郎 110
94
+
95
+ 090 田中 哲男 030
96
+
97
+ 110 山田 太郎 010
98
+
99
+ 110 山田 太郎 070
100
+
101
+ ```
102
+
103
+ 例えば、IDが070のところで重複IDが010として表示されていますが、
104
+
105
+ 010と070が重複していることは、
106
+
107
+ IDが010のところで重複IDが070と表示されているので既に判明しています。
108
+
109
+ なので、 抽出したくないのです。
110
+
111
+
62
112
 
63
113
 
64
114
 

2

修正

2018/01/13 02:34

投稿

yoshi7
yoshi7

スコア48

test CHANGED
File without changes
test CHANGED
@@ -63,3 +63,9 @@
63
63
 
64
64
 
65
65
  いいSQL文はないでしょうか?
66
+
67
+
68
+
69
+ 追記
70
+
71
+ 説明が不足していましたが、実際にはIDに付随する住所や電話番号等も抽出項目になります。

1

修正

2018/01/13 02:14

投稿

yoshi7
yoshi7

スコア48

test CHANGED
File without changes
test CHANGED
@@ -28,6 +28,8 @@
28
28
 
29
29
  100 斉藤 剛史
30
30
 
31
+ 110 山田 太郎
32
+
31
33
  ```
32
34
 
33
35
  例えば上記のようなテーブルがあった場合、
@@ -44,6 +46,8 @@
44
46
 
45
47
  010 山田 太郎 070
46
48
 
49
+ 010 山田 太郎 110
50
+
47
51
  030 田中 哲男 090
48
52
 
49
53