簡體   English   中英

在 MySQL 中兩次連接兩個表。 可能與否???

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM