前提・実現したいこと
MySQLを使用しています。
テーブル構造はこのような形です。
userテーブル
+-------------+-------------------------+------+-----+----------------------+--------------------------------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------------------+------+-----+----------------------+--------------------------------+ | id | varchar(36) | NO | PRI | NULL | | | email | varchar(500) | YES | | NULL | | | name | varchar(500) | YES | | NULL | | password | varchar(500) | NO | | NULL | | | created_at | datetime(6) | NO | | CURRENT_TIMESTAMP(6) | | | updated_at | timestamp(6) | NO | | CURRENT_TIMESTAMP(6) | on update CURRENT_TIMESTAMP(6) | | +-------------+-------------------------+------+-----+----------------------+--------------------------------+
messageテーブル
+---------------+--------------------------------------+------+-----+----------------------+--------------------------------+ | Field | Type | Null | Key | Default | Extra | +---------------+--------------------------------------+------+-----+----------------------+--------------------------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | text | text | YES | | NULL | | | created_at | datetime(6) | NO | | CURRENT_TIMESTAMP(6) | | | updated_at | timestamp(6) | NO | | CURRENT_TIMESTAMP(6) | on update CURRENT_TIMESTAMP(6) | | chat_group_id | int(11) | YES | MUL | NULL | | | sender_id | varchar(36) | YES | MUL | NULL | | +---------------+--------------------------------------+------+-----+----------------------+--------------------------------+
groupテーブル
+------------+--------------+------+-----+----------------------+--------------------------------+ | Field | Type | Null | Key | Default | Extra | +------------+--------------+------+-----+----------------------+--------------------------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(255) | YES | | NULL | | | image_url | text | NO | | NULL | | | created_at | datetime(6) | NO | | CURRENT_TIMESTAMP(6) | | | updated_at | timestamp(6) | NO | | CURRENT_TIMESTAMP(6) | on update CURRENT_TIMESTAMP(6) | +------------+--------------+------+-----+----------------------+--------------------------------+
userとgroupの中間であるuser_chat_group_participationテーブル
+---------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------------+-------------+------+-----+---------+-------+ | user_id | varchar(36) | NO | PRI | NULL | | | chat_group_id | int(11) | NO | PRI | NULL | | +---------------+-------------+------+-----+---------+-------+
発生している問題・エラーメッセージ
この構成で、ユーザーが所属しているグループを最新メッセージのみ結合して取得したいのですが、
最新メッセージのみ結合するクエリがどうしても思いつきません。
お力添えいただきたいです。
回答1件
あなたの回答
tips
プレビュー