如何在datagridview中显示两个人之间的关系

问题描述 投票:1回答:1

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

所以,我与人做了一个(MS Access)表。每个人都有一个唯一的编号作为PK。之后我制作了一张关系表。在这个表中,我有一个人1(FK)列,关系列和人2(FK)列。

这看起来像这样:

现在我试图在datagridview中显示这个,其中列显示FnameLnameDOBRelationFnameLnameDOB。我尝试了很多,但我不能让它发挥作用。

我希望有人可以让我知道(SQL)select查询应该是什么样子或者我应该做些什么来使这项工作。

非常感谢!

c# sql ms-access datagridview windows-forms-designer
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.