これが私のselectクエリステートメントです:
select distinct posts.*, user_status.status_content
from posts left join user_status on
user_status.user_id = posts.user_id
where posts.user_id
= $userid or posts.user_id in
(select follower from follower where follower.user_id = $userid) order by posts.created_at desc;
私の select クエリ ステートメントは正常に動作しますが、出力が正確に必要なものではないことを除きます。私が欲しいのは、現在のユーザーと彼のフォローからすべての投稿を選択することであり、各投稿のユーザー名は lateststatus content
であり、ステータスはユーザーによって更新され、テーブルから最新のステータスコンテンツのみを選択したいので、どうすればよいですか?
投稿テーブル:
+------------+------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+------------+------+-----+---------+----------------+
| id | bigint(20) | NO | PRI | NULL | auto_increment |
| user_id | bigint(20) | NO | MUL | NULL | |
| content | text | NO | | NULL | |
| created_at | datetime | YES | | NULL | |
+------------+------------+------+-----+---------+----------------+
user_status テーブル:
+----------------+--------------+------+-----+-------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+--------------+------+-----+-------------------+-------+
| user_id | bigint(20) | NO | MUL | NULL | |
| status_content | varchar(225) | YES | | Hello World | |
| created_date | timestamp | NO | | CURRENT_TIMESTAMP | |
+----------------+--------------+------+-----+-------------------+-------+
ユーザーはステータスを更新できるため、user_status テーブルには複数のレコードが存在します。
私の選択クエリは次のように出力される場合があります。
I feel like s**t today!!!!
Hello world
2013-03-28 22:34:14
-----------------------------
I don't feel very good today
Hello world
2013-03-28 22:34:14
私が望むのは、が最新のステータスであると仮定するI feel like s**t today
と、次のように出力されるはずです。
I feel like s**t today!!!!
Hello world
2013-03-28 22:34:14