【问题标题】:How to select different values from the same joined table but on different foreign keys如何从同一个连接表中选择不同的值,但在不同的外键上
【发布时间】:2012-12-18 18:47:38
【问题描述】:

我有一张表Users,它链接到多次,如下所示:

因此,当我向用户请求 Name 以获取 Request 时,我得到了其中一个名称,我想要两个名称,这是我第一次遇到这种情况,我不知道该怎么做SQL。

查询可能是这样的:

SELECT Name as Originator, Name as Requestee FROM View ... JOIN ... WHERE Id = 123

【问题讨论】:

    标签: sql sql-server tsql join view


    【解决方案1】:

    很简单,你需要两个用户,你加入Users表两次,比如:

    SELECT ou.Name as Originator, ru.Name as Requestee 
    FROM Requests r
      INNER JOIN Users ou ON r.Originator_Id = ou.Id
      INNER JOIN Users ru ON r.Requestee_Id = ru.Id
    WHERE r.Id = 123
    

    【讨论】:

    • 如果两个 Id 中的任何一个可以为空,则使用 LEFT 连接。
    猜你喜欢
    • 2019-11-18
    • 2017-01-26
    • 2012-10-02
    • 2012-05-28
    • 1970-01-01
    • 2019-10-27
    • 2015-05-08
    • 2020-03-21
    • 2019-10-22
    相关资源
    最近更新 更多