Как запросить хранимую процедуру к родительским и дочерним таблицам? - PullRequest
0 голосов
/ 30 мая 2019

У меня есть таблица заданий и хранимая процедура, чтобы показать, что задания на пользователя. Но теперь мне нужно использовать другой запрос для того же столбца.

Пока я получил это:

SELECT 
    extrajobs.ExtraJobsID, prof.ProfileName, 
    functscope.Name AS functionscope1, 
    functscope.Name AS functionscope2, 
    extrajobs.FunctionScopeID, 
    users.UserID, extrajobs.CreateDate, 
    users.Username, extrajobs.LastUpdate, 
    prof.ProfileName, 
    extrajobs.Description, extrajobs.Day, extrajobs.Hours, 
    extrajobs.Remaining, extrajobs.Coordinator, 
    extrajobs.Feedback__On_Coordinator, extrajobs.Status_Coordinator, 
    extrajobs.Director, extrajobs.Status_Director, 
    extrajobs.Feedback__On_Director
    --SELECT DISTINCT(users.Username), prof.ProfileName
FROM 
    TBL_User AS users
JOIN 
    TBL_ExtraJobs AS extrajobs ON extrajobs.UserID = users.UserID
JOIN
    TBL_UserFunctionScope AS functscope ON extrajobs.FunctionScopeID= functscope.FunctionScopeID
JOIN
    REL_ProfileUser AS relprofileuser ON users.UserID = relprofileuser.UserID
JOIN
    TBL_Profile AS prof ON prof.ProfileID = relprofileuser.ProfileID
JOIN
    TBL_UserFunction AS funct ON funct.FunctionID = relprofileuser.FunctionID
WHERE 
    funct.Name = 'Extra-jobs'

Набор результатов хранимых процедур

и это таблица заданий:

TBL_FunctionScope

И теперь, в результате хранимой процедуры, я хочу поместить int functioscope1 в родительский элемент funtionscope2, например TBL_FunctionScope.

Как я могу это сделать?

1 Ответ

0 голосов
/ 30 мая 2019

Вам необходимо включить JOIN с TBL_FunctionScope и TBL_UserFunctionScope, например:

SELECT 
    extrajobs.ExtraJobsID, prof.ProfileName, 
    functscope.Name AS functionscope1, 
    functscope.Name AS functionscope2, 
    parentfunctscope.Name as parentfunction,
    extrajobs.FunctionScopeID, 
    users.UserID, extrajobs.CreateDate, 
    users.Username, extrajobs.LastUpdate, 
    prof.ProfileName, 
    extrajobs.Description, extrajobs.Day, extrajobs.Hours, 
    extrajobs.Remaining, extrajobs.Coordinator, 
    extrajobs.Feedback__On_Coordinator, extrajobs.Status_Coordinator, 
    extrajobs.Director, extrajobs.Status_Director, 
    extrajobs.Feedback__On_Director
    --SELECT DISTINCT(users.Username), prof.ProfileName
FROM 
    TBL_User AS users
JOIN 
    TBL_ExtraJobs AS extrajobs ON extrajobs.UserID = users.UserID
JOIN
    TBL_UserFunctionScope AS functscope ON extrajobs.FunctionScopeID= functscope.FunctionScopeID
JOIN
    TBL_FunctionScope as func ON extrajobs.FunctionScopeID= func.FunctionScopeID
LEFT JOIN
    TBL_UserFunctionScope AS parentfunctscope ON func.ParentScopeID = parentfunctscope.FunctionScopeID
JOIN
    REL_ProfileUser AS relprofileuser ON users.UserID = relprofileuser.UserID
JOIN
    TBL_Profile AS prof ON prof.ProfileID = relprofileuser.ProfileID
JOIN
    TBL_UserFunction AS funct ON funct.FunctionID = relprofileuser.FunctionID
WHERE 
    funct.Name = 'Extra-jobs'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...