同一张表多次进行内部联接SQL表

时间:2020-08-30 18:37:57

标签: mysql sql join select

我有两个表(味精和用户)。我试图将这两个表连接在一起,并打印出发件人和收件人的名字和姓氏以及所有邮件内容(如果邮件被标记为标记)。虽然我一直收到错误消息,但尚未找到实现此目的的好方法。

供参考的表格图片: https://imgur.com/a/wYuptfR

我现在正在使用的

SQL查询:

SELECT msg.*, users.uuid AS users.ruuid, users.uuid AS users.suuid, users.firstName, users.lastName
FROM msg
 INNER JOIN users ON users.ruuid = msg.recipient
 AND INNER JOIN users ON users.suuid = msg.sender 
WHERE msg.flag = 0

2 个答案:

答案 0 :(得分:0)

如果使用不同的别名,则可以多次查询同一张表。另外,请注意,两个and子句之间不应包含join

SELECT     msg.*, 
           r.uuid AS ruuid, r.firstName AS rfirstname, r.lastName AS rlastname,
           s.uuid AS suuid, s.firstName AS sfirstname, s.lastName AS slastname
FROM       msg
INNER JOIN users r ON r.uuid = msg.recipient
INNER JOIN users s ON s.uuid = msg.sender 
WHERE      msg.flag = 0

答案 1 :(得分:-1)

尝试一下

SELECT msg.*, u.uuid , u.firstName, u.lastName, s.uuid , s.firstName, s.lastName
FROM msg
INNER JOIN users u ON u.uuid = msg.recipient
INNER JOIN users s ON s.uuid = msg.sender
WHERE      msg.flag = 0