MSSQL从一个表到另一表选择列值

时间:2018-09-05 06:17:36

标签: mysql sql-server

如何在MSSQL中基于表(A)主键列值检索表(B)列值?

表(A)

  

ID int主键

     

NAME varchar(20)

     

Role_Id int

表(B)

  

Role_Id int PRIMARY KEY,

     

Role_Type varchar(20)。

我对如何按列将表( B )中的列( Role_Type )值检索到表( A )中的值感到困惑( ID )。

示例

表(A)

  

ID = 1,2,3。

     

NAME =约翰,乔,拉伊。

表(B)

  

Role_Id = 11,12,13,14,15,16,17,18。

     

角色类型= A,B,C,D,E,F,G,H。

如果我选择 ID = 1 ,那么我需要下面的答案,

  

ID:1

     

NAME:约翰

     

角色类型:A,B,C,D,E,F,G,H

1 个答案:

答案 0 :(得分:0)

第一件事是您拥有具有Role_Id列的表A。

ID int主键

NAME varchar(20)

Role_Id int

这意味着您将只能将一个角色与表A上的记录相关联。

我认为您需要重新表述问题或创建一个新的表C,以使表A和B之间具有多对多关系,这样您才能对表A上的记录具有多个角色。

喜欢: 表C ID Role_Id

检查Microsoft参考中的多对多关系。

https://docs.microsoft.com/en-us/sql/analysis-services/multidimensional-models/define-a-many-to-many-relationship-and-many-to-many-relationship-properties?view=sql-server-2017