如何在mysql中连接表
我有两个表格如下:如何在mysql中连接表,mysql,sql,inner-join,Mysql,Sql,Inner Join,我有两个表格如下: 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) Mes
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)
Message Sender Receiver
Message 1 testing john sonam
Message 2 testing meena shenaz
users_消息中的两个外键引用相同的表,即users
我想编写一个sql查询以获得如下输出:
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)
Message Sender Receiver
Message 1 testing john sonam
Message 2 testing meena shenaz
我该怎么做?我需要从users\u messages表中获取所有消息,发送方id和接收方id被users表中的username列替换
编辑
解决方案:
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
试一试