如何在数据网格视图中显示两个人之间的关系

时间:2019-03-03 14:47:16

标签: c# sql ms-access datagridview windows-forms-designer

我想在datagridview(C#Windowsforms)中显示两个人之间的关系。

因此,我与人做了一个(MS Access)表。每个人的PK都有一个唯一的数字。之后,我制作了一个关系表。在此表中,我有一列用于人员1(FK),一列用于关系,一列用于人员2(FK)。

这看起来像这样:

ERD

现在,我尝试在datagridview中使用显示FnameLnameDOBRelationFname,{{1} },Lname。我做了很多尝试,但是我不能让它起作用。

我希望有人能让我知道(SQL)DOB查询应该是什么样子,或者我应该怎么做才能使这项工作生效。

非常感谢!

1 个答案:

答案 0 :(得分:0)

您将需要在查询中使用Person表的两个引用,因为对于Relation表中的每个记录,将显示两个单独的记录在您的Person表中。

因此,您将需要使用以下查询:

select
    p1.fname, 
    p1.lname, 
    p1.dob, 
    r.relation,
    p2.fname, 
    p2.lname, 
    p2.dob
from
    (relation r inner join person p1 on r.pnumber1 = p1.pnumber) 
    inner join 
    person p2 on r.pnumber2 = p2.pnumber