Как показать связь между двумя пользователями в datagridview

#c# #sql #ms-access #datagridview #windows-forms-designer

#c# #sql #ms-access #datagridview #windows-forms-designer

Вопрос:

Я хочу показать связь между двумя пользователями в datagridview (C # Windowsforms).

Итак, я создал таблицу (MS Access) с лицами. Каждый пользователь имеет уникальный номер в качестве своего PK. После этого я создал таблицу отношений. В этой таблице у меня есть столбец для пользователя 1 (FK), столбец для отношения и столбец для пользователя 2 (FK).

Это выглядит следующим образом:

ERD

Теперь я попытался показать это в datagridview со столбцами, которые показывают Fname , Lname , DOB Relation Fname , Lname DOB ,,,,,,,,,,,,,,,. Я много пробовал, но я не могу позволить этому работать.

Я надеюсь, что кто-нибудь может сообщить мне, как должен выглядеть запрос (SQL) select или что я должен сделать, чтобы это сработало.

Большое спасибо!

Ответ №1:

Вам нужно будет использовать две ссылки на вашу 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