回答編集履歴

2

訂正

2017/07/31 01:27

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -52,10 +52,12 @@
52
52
 
53
53
  ON p.player_id = u.player_id
54
54
 
55
- WHERE p.player_id IN (
55
+ WHERE p.player_id = (
56
56
 
57
57
  select max(player_id) from tableA where user_id=p.user_id
58
58
 
59
59
  )
60
60
 
61
61
  ```
62
+
63
+ ※max()なのでin句である必要がないので=に変更

1

追記

2017/07/31 01:27

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -35,3 +35,27 @@
35
35
  ```
36
36
 
37
37
  としてみてください。
38
+
39
+
40
+
41
+ ---追記
42
+
43
+ やりたいことが結合のリストを、max(player_id)だけのものにしたいということなら、
44
+
45
+ 相関の記述の仕方が違います。
46
+
47
+ ```SQL
48
+
49
+ SELECT p.user_id, p.player_id
50
+
51
+ from tableA as p INNER JOIN tableB as u
52
+
53
+ ON p.player_id = u.player_id
54
+
55
+ WHERE p.player_id IN (
56
+
57
+ select max(player_id) from tableA where user_id=p.user_id
58
+
59
+ )
60
+
61
+ ```