Sql 返回manager';s的名字而不是经理';用户ID

Sql 返回manager';s的名字而不是经理';用户ID,sql,sql-server,tsql,Sql,Sql Server,Tsql,我试图找出如何返回经理的姓名而不是经理的用户ID SELECT u.fname, u.lname, ua.email, ( SELECT distinct u.mgrUserid FROM users WHERE u.mgrUserid IS NOT NULL ) AS 'manager' FROM dbo.quizzes_users qu INNER JOI

我试图找出如何返回经理的姓名而不是经理的用户ID

SELECT u.fname, 
        u.lname,
        ua.email,
        (
            SELECT distinct u.mgrUserid
            FROM users
            WHERE u.mgrUserid IS NOT NULL
        ) AS 'manager'
FROM dbo.quizzes_users qu
INNER JOIN dbo.quizzes q ON qu.quizId = q.quizId
INNER JOIN dbo.users u ON qu.userId = u.userId
INNER JOIN intela.dbo.users_all ua ON u.userId = ua.userId
WHERE qu.quizId = @quizId
上述查询目前为我提供了以下结果:

fname       lname           email                         manager 
John        Smith           john.smith@email.com          5 
Tim         Walker          tim.walker@email.com          1 
fname       lname           email                         manager
John        Smith           john.smith@email.com          Mike Jones
Tim         Walker          tim.walker@email.com          David Larson
我试图得到以下结果:

fname       lname           email                         manager 
John        Smith           john.smith@email.com          5 
Tim         Walker          tim.walker@email.com          1 
fname       lname           email                         manager
John        Smith           john.smith@email.com          Mike Jones
Tim         Walker          tim.walker@email.com          David Larson

我认为您需要一个相关子查询:

    (SELECT um.lname
     FROM users um
     WHERE u.mgrUserid = um.Userid
    ) AS manager

我认为您需要一个相关子查询:

    (SELECT um.lname
     FROM users um
     WHERE u.mgrUserid = um.Userid
    ) AS manager

内部联接是一个选项

SELECT u.fname, 
        u.lname,
        ua.email,
        mgr.[manager's name] AS 'manager'
FROM dbo.quizzes_users qu
INNER JOIN dbo.quizzes q ON qu.quizId = q.quizId
INNER JOIN dbo.users u ON qu.userId = u.userId
INNER JOIN dbo.users mgr ON u.mgrUserId = mgr.UserId
INNER JOIN intela.dbo.users_all ua ON u.userId = ua.userId
WHERE qu.quizId = @quizId

内部联接是一个选项

SELECT u.fname, 
        u.lname,
        ua.email,
        mgr.[manager's name] AS 'manager'
FROM dbo.quizzes_users qu
INNER JOIN dbo.quizzes q ON qu.quizId = q.quizId
INNER JOIN dbo.users u ON qu.userId = u.userId
INNER JOIN dbo.users mgr ON u.mgrUserId = mgr.UserId
INNER JOIN intela.dbo.users_all ua ON u.userId = ua.userId
WHERE qu.quizId = @quizId