Я понимаю, что эта задача должна быть довольно простой, но по какой-то причине я не могу понять ее в течение некоторого времени. Поиск подобных проблем тоже не помог.T-SQL: как заполнить столбец с помощью отдела пользователя?
Так, скажем, у меня есть две таблицы: Документы и DepartmentsAndUsers.
--- Documents --- (one document could have any user as its author)
DocumentID AuthorID DepartemntID
1 User1 null
2 User2 null
3 User3 null
4 User1 null
5 User4 null
--- DepartmentsAndUsers --- (a user could be in any number of departments)
DepartmentID UserID
Dept1 User1
Dept1 User2
Dept1 User3
Dept2 User4
Dept2 User5
Dept3 User1
Dept3 User3
Как заполнить DepartemntID колонку в Документы таблицы с первым (или) отделов пользователя находится в DepartmentsAndUsers таблицы?
К примеру, User1 в dept1 и в Dept3 так DepartmentID для Документы 1 и 4 должны быть заполнены значениями dept1 или Dept3.
Пожалуйста, не думайте об этом из точки нормализации, поскольку я не могу изменить какую-либо логику таблиц.
Любая помощь или ссылка на какое-то решение с таким же сценарием будет высоко оценена.
Поскольку пользователь может находиться в нескольких отделах, делает это независимо от того, какой из них вы положили в таблицах документов ? Для User1, могут ли они ВСЕ сказать Dept1? Это легко сделать. В противном случае нет реального способа определить, какие документы должны получить «Dept1» или «Dept3» – pmbAustin
Это не имеет значения. Любой из дел будет делать. –
Это зависит от того, хотите ли вы в той же строке или если несколько строк в порядке. Если это последнее, тогда будет работать простое соединение. В противном случае вам понадобится динамический стержень или составьте список отделов в один столбец. – scsimon