【问题标题】:Display the values of 2 foreign keys显示 2 个外键的值
【发布时间】:2013-03-27 22:33:06
【问题描述】:

我正在创建一个 MySQL 数据库,它具有以下形式的关系:

我想要实现的是创建一个同时显示两对夫妇详细信息的视图,例如列名是:

|| P1_First_Name || P1_LastName || P1_Gender || P2_FirstName || P2_LastName || P2_Gender ||

但是我不确定如何执行此操作。到目前为止,我有一些类似的东西

CREATE VIEW CoupleDetails AS
SELECT People.`First Name`, People.`Last Name`, People.`Gender`
FROM Couples
LEFT JOIN People ON People.NI_Number = Couples.ni_person1;

这对于获取第一人称的详细信息很有效。在过去的几个小时里,我一直在尝试创建一个表格来显示我需要的列,但是我无法像上面描述的那样工作——坦率地说,我不确定我要做什么!有人可以为我提供正确方向的指导!

【问题讨论】:

    标签: mysql sql database foreign-keys sql-view


    【解决方案1】:

    您需要将表 People 与表 Couples 连接两次,因为表 Couples 的两列依赖于表 People

    我认为表 Couples 上的列是必需的(或不可为空),因为当只有一个人时你不能调用一对夫妇 :)

    CREATE VIEW CoupleDetails 
    AS
    SELECT  b.FirstName P1_FirstName,
            b.LastName P1_LastName,
            b.Gender = P1_Gender,
            c.FirstName P2_FirstName,
            c.LastName P2_LastName,
            c.Gender = P2_Gender
    FROM    Couples a
            INNER JOIN People b
                ON a.ni_person1 = b.NI_Number
            INNER JOIN People c
                ON a.ni_person2 = c.NI_Number
    

    如需进一步了解联接,请访问以下链接:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-14
      • 1970-01-01
      • 2021-12-14
      • 1970-01-01
      • 2021-12-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多