2013-04-05 60 views
1

我创建它在形式的关系的MySQL数据库的值:显示2个外键

database

我想实现是创建一个显示的详细图两个夫妇一次,例如列名称将是:

|| 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; 

哪些工作正常获取第一人称的细节。我花了几个小时试图创建一个表格来显示我需要的列,但是我不能像上面描述的那样获得某些东西 - 坦率地说,我不确定我要做什么!有人能请我以正确的方向提供指导!

回答

3

你需要加入表People两次对表Couples因为有那些依赖于表PeopleCouples的两列。

我觉得需要对表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 

为了进一步获得更多的知识约联接,请访问以下链接: