私は 3 つのテーブルを持っており、それぞれに特定のタイプの製品 (レビュー シャツ、レビュー コート、レビュー パンツ) のレビューが含まれています。すべてのテーブルには、ユーザー ID とアイテム ID の列が含まれています。あるテーブルの itemid が与えられた場合、その itemid を持つアイテムをレビューしたユーザーによってレビューされた他のテーブルの製品の組み合わせを、その組み合わせが表示された回数でグループ化してクエリする最適な方法は何ですか。
例: reviewshirts テーブル 'S11111' から itemid が与えられた場合:
テーブル レビューシャツ:
------------------------------
| reviewid | itemid | userid |
------------------------------
| ??? | S11111 | U1234 | <---matches
------------------------------
| ??? | S11111 | U4321 | <---matches
------------------------------
| ??? | S99999 | U5555 | (only want userids that reviewed S11111)
------------------------------
テーブル レビューパンツ: (それらのユーザーによってレビューされたすべてのアイテムを見つけます)
------------------------------
| reviewid | itemid | userid |
------------------------------
| ??? | P11111 | U1234 | <---matches
------------------------------
| ??? | P11111 | U4321 | <---matches
------------------------------
| ??? | P11111 | U5555 |
------------------------------
| ??? | P66666 | U4321 | <---matches
------------------------------
テーブルレビューコート:
------------------------------
| reviewid | itemid | userid |
------------------------------
| ??? | C11123 | U1234 | <---matches
------------------------------
| ??? | C00024 | U1234 | <---matches
------------------------------
| ??? | C00024 | U4321 | <---matches
------------------------------
戻り値:
---------------------------
| pantid | coatid | count |
---------------------------
| P11111 | C11123 | 1 |
---------------------------
| P11111 | C00024 | 2 |
---------------------------
| P66666 | C00024 | 1 |
---------------------------
(S11111 をレビューしたユーザーからの pantids と coatids の異なる組み合わせの数によってグループ化された結果)
ご協力いただきありがとうございます。
リクエストされたコンテキスト: これは、以前のレビューに基づく単純なレコメンデーション エンジン用です。