私は現在のアイテムのようなアイテムを見つける方法についていくつかの一般的なアドバイスを探しています。私はすべて持っているものから、現在のものと共通のジャンルを持っているゲームを見つけることについて行くことができますどのようにアイテム 'like' this one
games
-game_id
genres
-genre_id
genres_data
-game_id
-genre_id
:私の現在の例では
私はそう(省略して無関係なデータ)のような3つのテーブルを持っています同じジャンルを、ゲームと同じ行しかない(いくつかの行に限定されている)ものと同じものに降下させるか?
どのようなアイテムを見つけるのに適した方法はありますか?
SELECT game_id, COUNT(genre_id) AS genres_in_common
FROM genres_data
WHERE
genre_id IN
(
SELECT genre_id
FROM genres_data
WHERE game_id = <game you're searching with>
)
AND
game_id != <game you're searching with>
GROUP BY game_id
ORDER BY genres_in_common DESC
;
サブクエリがあなたのゲームに関連するすべてのgenre_id
のリストをつかみ、そしてメイン・クエリは、それらの1つに一致するレコードのgenres_data
を検索することを使用しています。
申し訳ありませんが、私はこれに長い間答えました。この回答を投稿しようとしていたときと同じように、StackOverflowがメンテナンスのためにダウンしました。 – AgentConundrum
私はそれを投稿した直後に落ちた、私はそれを見に行った後、それは行った;これは良い出発点ですので、私はこのようなことについてどうやって行くのか分かりませんでした –