gpt4 book ai didi

sql - T-SQL : How to fill a column with user's department?

转载 作者:行者123 更新时间:2023-12-03 02:55:15 24 4
gpt4 key购买 nike

我意识到这个任务应该非常简单,但由于某种原因我有一段时间无法弄清楚。搜索类似问题也没有帮助。

所以,假设我有两个表:DocumentsDepartmentsAndUsers

--- 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

如何使用位于 DepartmentsAndUsers 表中的第一个(或任意)用户部门填充 Documents 表中的 DepartemntID 列?

例如,User1 位于 Dept1 和 Dept3 中,因此 Documents 1 和 4 的 DepartmentID 应填写为 Dept1 或 Dept3 值。

请不要从规范化角度考虑这一点,因为我无法更改表格的任何逻辑。

任何帮助或链接到具有相同场景的某些已解决的解决方案将不胜感激。

最佳答案

with cte as( 
select
UserID,
max(DepartmentID) as DepartmentID
from DepartmentsAndUsers
group by UserID)

select
d.DocumentID,
d.AuthorID,
cte.DepartmentID
from Documents d
inner join cte on cte.UserID = d.AuthorID

关于sql - T-SQL : How to fill a column with user's department?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40682987/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com