【问题标题】:How can I connect a table with two foreign keys to another table?如何将具有两个外键的表连接到另一个表?
【发布时间】:2021-05-12 11:49:06
【问题描述】:

我正在尝试根据他们的兴趣连接两个用户。连接表由 FirstUserId、SecondUserId 和 InterestId 组成。目前,可以显示我可以获得第一个用户信息的连接。我还希望能够获取第二个用户的信息,以便显示他们的姓名和信息。但是,当尝试在 SecondUserId 和 Id 之间(从 User 表)创建关系时,我收到消息说这是不可能的,因为已经存在关系。

我想知道是否有人可以解决如何将 SecondUserId 连接到 User 表。提前致谢!

Screenshot of the relation in PowerBI

【问题讨论】:

  • 你能解释一下SecondUserId在这种情况下是什么意思吗? IE。为什么要建立这样的联系?
  • 连接表用作根据两个用户的兴趣相互连接的一种方式。 FirstUserId 和 SecondUserId 是根据所述兴趣将它们相互连接所必需的。

标签: powerbi relationship powerbi-desktop


【解决方案1】:

您要做的是通过另一个表连接一个表的两行。这是不正确的方法,因为您不能两次将外键引用到同一个表。 (它没有任何意义) 这种方式可以用来连接两个表(比如表User + Interest)

其实,你不需要为你想要的连接定义额外的东西。它可以通过查询来完成。 IE。获得两个兴趣相同的用户:

select * from User where Id in (
    select FirstUserId from Connection where InterestId in (
        select InterestId from Connection
        group by InterestId having count(*) > 1
    )
)

having count(*) = 2,如果您需要两个具有相同兴趣的用户

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-13
    • 1970-01-01
    • 2019-02-09
    • 2011-12-27
    • 1970-01-01
    • 2020-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多