背景:
您好,第一次发布问题,所以请原谅任何不当行为...我在大学被分配了一个使用 ASP.NET 和 SQL Server 的作业,我们基本上要做的是创建一个网络表单,我们可以在其中选择一个政党绑定到 SQL 数据源的单选按钮列表。基于该选择,下拉列表随后填充有作为选择单选按钮列表的一方的一部分的国会议员的列表。然后,您可以选择一名议员并查看他或她的个人详细信息、他们在议会中的角色,并通过与各种 SQL 数据源相关联的许多数据控件提出/查看问题。
我正在取得良好的进展,并尝试使用我能找到的任何资源来获得解决方案,但可惜我在选择议员后查看议会角色时遇到了障碍。
我有 3 个表在这里涉及:
MP MP_ROLES ROLE
------------- --------------- ----------------
MP_NUM (PK) MP_NUM (PK, FK) ROLE_NUM (PK)
MP_FIRST ROLE_1 (FK) ROLE_DESCRIPTION
MP_LAST ROLE_2 (FK)
MP_EMAIL ROLE_3 (FK)
MP_CONTACTADD ROLE_4 (FK)
MP_PHOTO
PARTY_NUM(FK)
(ROLE_1
通过ROLE_4
参考ROLE.ROLE_NUM
。)
问题:
我有一个DetailsView
绑定到查询的 SQL 数据源的控件MP_ROLES
。我基本上想要做的是将 , 等中的每个值替换ROLE_1
为表中引用ROLE_2
的相应值(如)。现在通过我对文本框的挖掘,我知道在更简单的应用程序中你可以做我想要用这个函数做的事情,但是由于我还在学习,我还没有完全整理好语法来做我想做的事情。ROLE_DESCRIPTION
ROLE_NUM
ROLE
MP_ROLE.ROLE_1 = ROLE.ROLE_NUM AND MP_ROLE.ROLE_2 = ROLE.ROLE_NUM AND MP_ROLE.ROLE_3 = ROLE.ROLE_NUM AND MP_ROLE.ROLE_4 = ROLE.ROLE_NUM
INNER JOIN
到目前为止我所拥有的:
SELECT MP_ROLES.MP_NUM, MP_ROLES.ROLE_1, MP_ROLES.ROLE_2, MP_ROLES.ROLE_3, MP_ROLES.ROLE_4
FROM MP_ROLES
INNER JOIN ROLE ON MP_ROLES.ROLE_1 = ROLE.ROLE_NUM
INNER JOIN ROLE AS ROLE_3 ON MP_ROLES.ROLE_2 = ROLE.ROLE_NUM
INNER JOIN ROLE AS ROLE_2 ON MP_ROLES.ROLE_3 = ROLE.ROLE_NUM
INNER JOIN ROLE AS ROLE_1 ON MP_ROLES.ROLE_4 = ROLE.ROLE_NUM
WHERE (MP_ROLES.MP_NUM = @MP_NUM)
在过去的 8 年里,我一直在努力寻找解决方案,所以如果有人能够告诉我哪里出了问题,或者可能足够友善地提供解决方案,我将不胜感激:)