teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

訂正

2017/07/31 01:27

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -25,7 +25,8 @@
25
25
  SELECT p.user_id, p.player_id
26
26
  from tableA as p INNER JOIN tableB as u
27
27
  ON p.player_id = u.player_id
28
- WHERE p.player_id IN (
28
+ WHERE p.player_id = (
29
29
  select max(player_id) from tableA where user_id=p.user_id
30
30
  )
31
- ```
31
+ ```
32
+ ※max()なのでin句である必要がないので=に変更

1

追記

2017/07/31 01:27

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -16,4 +16,16 @@
16
16
  select max(player_id) from tableA GROUP by user_id
17
17
  )
18
18
  ```
19
- としてみてください。
19
+ としてみてください。
20
+
21
+ ---追記
22
+ やりたいことが結合のリストを、max(player_id)だけのものにしたいということなら、
23
+ 相関の記述の仕方が違います。
24
+ ```SQL
25
+ SELECT p.user_id, p.player_id
26
+ from tableA as p INNER JOIN tableB as u
27
+ ON p.player_id = u.player_id
28
+ WHERE p.player_id IN (
29
+ select max(player_id) from tableA where user_id=p.user_id
30
+ )
31
+ ```