[英]Joining two tables twice in MySQL. Possible or Not???
表用戶的表結構,消息如下所示,
Users - ID, Name
Messages - ID, Sender, Receiver, Message
我想加入兩個表兩次,就像用 users.id 加入 messages.sender 和用 users.id 加入 messages.receiver 一樣。
是否可以在單個查詢中獲得包含發件人 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 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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.