gpt4 book ai didi

两列上的sql连接

转载 作者:行者123 更新时间:2023-12-04 14:33:24 25 4
gpt4 key购买 nike

我有两个表如下:

用户

  • 编号
  • 用户名
  • 邮箱

  • 留言
  • 编号
  • 留言
  • 发件人
  • TOUSER
  • FROMUSERTOUSER在用户表中有一个对 ID 的外键引用。

    现在我想检索使用用户电子邮件地址加入用户的消息,如下所示
    | ID | Message | FROMEMAIL | TOEMAIL |

    我可以写一个查询如下。
    SELECT Step1.*, 
    users.email as ToUser
    FROM (SELECT messages.*,
    users.email as fromuser
    FROM messages
    JOIN users on messages.fromuser = users.ID) as Step1
    JOIN users on step1.touser = users.ID

    有没有什么简单的方法可以在没有子查询的情况下实现这一点?

    最佳答案

    只需两次加入用户表:

    SELECT Message, uf.Email AS FromEmail, ut.Email AS ToEmail
    FROM Messages
    JOIN Users uf ON Messages.FromUser = uf.Id
    JOIN Users ut ON Messages.ToUser = ut.Id

    关于两列上的sql连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6459781/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com