我有两个表如下:
users
-id (primary key, AUTO_INCREMENT)
-username (varchar)
-password (varchar)
users_messages
-id (primary key, AUTO_INCREMENT)
-message (text)
-fk sender_id (int)
-fk receiver_id(int)
-sent_date(datetime)
-is_read(tinyint)
users_messages 中的两个外键都引用同一个表,即用户我想编写一个 sql 查询以获得如下输出:
Message Sender Receiver
Message 1 testing john sonam
Message 2 testing meena shenaz
我怎样才能做到这一点?我需要从 users_messages 表中获取所有消息,其中 sender_id 和 receiver_id 被用户表中的用户名列替换
编辑解决方案:
SELECT m.id, m.message, s.username, r.username FROM users_messages m
INNER JOIN users s ON m.sender_id = s.id
INNER JOIN users r ON m.receiver_id = r.id