というテーブルがあります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_follow
。php
そして、`WHERE profile_follow.user_id = '{$user_id}' のように、user_id (関数) を渡す必要があります。使用するのではなく、これにサブクエリを追加する必要があると思います。
誰かがこのクエリを完了する方法を教えてもらえますか? 私はここからそれを処理する方法がわかりませんか?これまでのところ、私の試みはすべてオフになっています。
私は次のようなことをする必要があると思います:
Select
follow_id where
user_id= (logged in user)
そして、メインクエリで:
Select reviews only with profile_follow.follow_id = review.user_id.
このフィルターを機能させる方法がわかりません。