:
UPDATE Documents SET DepartemntID = E.DepartemntID
FROM Documents D
LEFT JOIN (
SELECT UserID, MIN(DepartemntID) DepartemntID
FROM DepartmentsAndUsers
GROUP BY UserID
) E ON E.UserID = D.AuthorID
:
DECLARE @Documents TABLE (
DocumentID INT,
AuthorID VARCHAR(16),
DepartemntID VARCHAR(16)
)
DECLARE @DepartmentsAndUsers TABLE (
DepartemntID VARCHAR(16),
UserID VARCHAR(16)
)
INSERT @Documents VALUES
(1, 'User1', NULL),
(2, 'User2', NULL),
(3, 'User3', NULL),
(4, 'User1', NULL),
(5, 'User4', NULL)
INSERT @DepartmentsAndUsers VALUES
('Dept1', 'User1'),
('Dept1', 'User2'),
('Dept1', 'User3'),
('Dept2', 'User4'),
('Dept2', 'User5'),
('Dept3', 'User1'),
('Dept3', 'User3')
UPDATE @Documents SET DepartemntID = E.DepartemntID
FROM @Documents D
LEFT JOIN (
SELECT UserID, MIN(DepartemntID) DepartemntID
FROM @DepartmentsAndUsers
GROUP BY UserID
) E ON E.UserID = D.AuthorID
SELECT * FROM @Documents