#実現したいこと
まず、tableA(user_idとplayer_idを主に列として持つ)とtableB(player_id,C を列として持つ)の2つのテーブルがあって、この2つを結合したテーブルから、更にサブクエリで抽出した結果を用いてWHEREでuser_id,player_id,C列を抽出したい。
#問題点
上を実現する為に以下のSQL文で実行してみたところ、WHEREの条件文が適用されていないため抽出ができていませんでした。(テーブルの結合は出来ており、エラーもありませんでした)
SQL
1SELECT p.user_id,p.player_id,C from tableA as p INNER JOIN tableB as u ON p.player_id = u.player_id WHERE p.player_id IN(select max(p.player_id) from `tableA` GROUP by user_id )
しかし、試しにWHEREの条件文をサブクエリを使わずに例えば
「WHERE p.player_id =5」とすると上手くそこだけ抽出できていました。
その為、サブクエリ(IN句の所)がおかしいことはわかったのですが、解決方法が分からない為、よろしくお願いします
回答1件
あなたの回答
tips
プレビュー