課題
以下のSQL文でデータを取得した時に重複したデータが全て取得され結果に格納されてしまいました。
select user_id from idols where idol = any(select idol from idols where user_id = 1);
uses・・ユーザーテーブル
idols・・ユーザーが好きなアイドルを登録するテーブル
以下のSQL文ではuser_id = 1
のユーザーと同じアイドルを好きなユーザーを取得しているのですが、好きなアイドルが複数被っている場合同じuser_idが複数取得されてしまいました。
解決
以下のようにdistinct
を入れるだけ。
select distinct user_id from idols where idol = any(select idol from idols where user_id = 1);
以上。