SQL查询:我想使用联结表显示UserName和role_discription

时间:2018-06-11 03:18:10

标签: sql sql-server

嗨,有人可以帮忙吗?

我有三个表tblUserstblRolestblUserRoles

如何在UserName表和tblUsers中显示role_discription 来自tblRoles表。

    CREATE TABLE tblRoles(
    roleID int IDENTITY(1,1) PRIMARY KEY NOT NULL,
    role_description varchar(50) NOT NULL
    );

    )CREATE TABLE tblUsers(
    userID int IDENTITY(1,1) PRIMARY KEY,
    FirstName varchar(50) NOT NULL,
    LastName varchar(50) NOT NULL,
    Age int NOT NULL,
    UserName varchar(50) NOT NULL,
    Password varchar(50) NOT NULL);


    create table tblUserRoles (
    userID int REFERENCES tblUsers(userID) NOT NULL,
    roleID int REFERENCES tblRoles(roleID)NOT NULL,
    );

    alter table tblUserRoles
    Add Constraint PK_UserRoles
    Primary Key Clustered (userID,roleID)

我知道基本的SELECT语句,可以在tblUserRoles表中显示所有内容,但是想显示名称和描述而不是ID号

1 个答案:

答案 0 :(得分:0)

这是一个显示user_name和role_description

的查询
  SELECT t1.UserName  , t2.role_description  from tblUsers t1 INNER JOIN tblUserRoles t3 ON t1.userID = t3.userID INNER JOIN tblRoles t2 on t3.roleID  = t2.roleID 

此处第一个连接将在列userID上连接表tblUsers和tblUserRoles,第二个连接将在列roleID上连接表tblUserRoles和tblRoles。