В операторе выбора (MSSQL 2012) я хочу добавить значения столбцов из одной таблицы в другую.
Лучше всего объяснить с помощью этой картинки:
Я хочу добавить текст Менеджер из первой таблицы в Роль второй уже объединенной таблицы, включая имена столбца Менеджер.
КакВ результате появятся еще две строки (DeptID 1 и DeptID 2) с именем роли «Менеджер» и «Пользователь A» и «Пользователь B» в столбце Участник.
Точно так же, как имя роли всегда должно быть«Менеджер» SubTeamName всегда должен быть «Core».
Пример данных:
CREATE TABLE Base
(DeptID int, [Manager] varchar(13))
;
INSERT INTO Base
(DeptID,[Manager])
VALUES
(1,'User A'),
(2,'User B'),
(3,'User C')
;
CREATE TABLE TeamMember
(ID int,DeptID int,RoleID int, [Member] varchar(57) )
;
INSERT INTO TeamMember
([ID],DeptID, RoleID, Member)
VALUES
(44, 1,2, 'User D'),
(55, 2,3, 'User E')
;
CREATE TABLE SubTeam
(ID int, [SubTeamName] varchar(57) )
;
INSERT INTO SubTeam
([ID],[SubTeamName])
VALUES
(44, 'Core'),
(55, 'Extended')
;
CREATE TABLE Role
(ID int, SubID int, [Role] varchar(57))
;
INSERT INTO Role
(ID, SubID, [Role])
VALUES
(1,44, 'Sales'),
(2,44, 'Finance'),
(3,55, 'Development')
;
Текущий запрос:
SELECT b.DeptID, t.RoleID, r.Role, t.Member, s.SubTeamName
FROM SubTeam s
LEFT JOIN Role r ON s.ID = r.SubID
LEFT JOIN TeamMember t ON r.ID = t.RoleID
LEFT JOIN Base b ON t.DeptID = b.DeptID
WHERE b.DeptID is not Null
Пожалуйста, также посмотрите это Скрипка
Возможно, я слишком усложняюсь, когда пытаюсь выступить с заявлением Союза, но я верю, что есть более простой способ, надеюсь, вы сможете мне его показать.