在MySQL中连接两个表两次。可能吗???
表用户的表结构、消息如下:在MySQL中连接两个表两次。可能吗???,mysql,join,Mysql,Join,表用户的表结构、消息如下: Users - ID, Name Messages - ID, Sender, Receiver, Message 我想联接两个表,就像联接messages.sender和users.id以及messages.receiver和users.id一样 是否可以在一次查询中使用发送者id、发送者名称、接收者id、接收者名称、消息…等获得结果???…是的,您可以根据需要多次加入表 SELECT sender.ID AS `sender_id`, sender
Users - ID, Name
Messages - ID, Sender, Receiver, Message
我想联接两个表,就像联接messages.sender和users.id以及messages.receiver和users.id一样
是否可以在一次查询中使用发送者id、发送者名称、接收者id、接收者名称、消息…等获得结果???…是的,您可以根据需要多次加入表
SELECT
sender.ID AS `sender_id`,
sender.Name AS `sender_name`,
receiver.ID AS `receiver_id`,
receiver.Name AS `receiver_name`,
Messages.Message
FROM
Messages
INNER JOIN
Users AS sender
ON
sender.ID = Messages.Sender
INNER JOIN
Users AS receiver
ON
receiver.ID = Messages.Receiver
是的,您可以根据需要多次加入表
SELECT
sender.ID AS `sender_id`,
sender.Name AS `sender_name`,
receiver.ID AS `receiver_id`,
receiver.Name AS `receiver_name`,
Messages.Message
FROM
Messages
INNER JOIN
Users AS sender
ON
sender.ID = Messages.Sender
INNER JOIN
Users AS receiver
ON
receiver.ID = Messages.Receiver
是的,您可以通过命名内部联接来执行此操作:
select id, s.Name, r.Name from Messages
inner join users as s on (message.sender = s.id)
inner join users as r on (merssage.receiver = r.id)
是的,您可以通过命名内部联接来执行此操作:
select id, s.Name, r.Name from Messages
inner join users as s on (message.sender = s.id)
inner join users as r on (merssage.receiver = r.id)