0

というテーブルがありますreviews。最新のユーザー レビューは次のようになります。

SELECT b.item, b.item_id, a.review_id, a.review, c.category, u.username, c.cat_id 
FROM reviews a
INNER JOIN items b
     ON a.item_id = b.item_id
INNER JOIN master_cat c
     ON c.cat_id = b.cat_id
INNER JOIN users AS u
     ON u.user_id = a.user_id               
ORDER BY a.review_id DESC;

私がやりたいのは、ユーザーにとってより魅力的なものになるように少し変更することです。

ユーザー「接続」の別のテーブルがあります。ツイッターみたいなやつ。ユーザーが誰かをフォローすると、 というこのテーブルに記録されますprofile_follow。これには 3 つの列があります。 id, user_id, follow_id. 単純に: 私がユーザー #1 で、ユーザー #3 とユーザー #5 を「フォロー」している場合、このテーブルに 2 つの行が追加されます。

     profile_follow
------------------------
id | user_id | follow_id
   | 1       | 3
   | 1       | 5

上記のクエリを変更する方法は次のとおりです。あなたがフォローしているユーザーからの最新のレビューのみを表示したい.

したがって、 table には、少なくとももう 1 つの結合が必要になりますprofile_followphpそして、`WHERE profile_follow.user_id = '{$user_id}' のように、user_id (関数) を渡す必要があります。使用するのではなく、これにサブクエリを追加する必要があると思います。

誰かがこのクエリを完了する方法を教えてもらえますか? 私はここからそれを処理する方法がわかりませんか?これまでのところ、私の試みはすべてオフになっています。

私は次のようなことをする必要があると思います:

Selectfollow_id whereuser_id= (logged in user)

そして、メインクエリで:

Select reviews only with profile_follow.follow_id = review.user_id.

このフィルターを機能させる方法がわかりません。

4

1 に答える 1