当前位置: 首页 > 知识库问答 >
问题:

如何在一行中更新属于特定部门的所有名称[已关闭]

越信鸥
2023-03-14

嗨,有谁能帮我解决这个问题吗

我们有一个包含部门信息的employee表。我们是否可以将数据集转换为每个部门有一行/记录,并且属于相应部门的所有员工都应该聚合/串联到同一行

表见下图。

在此输入图像说明

例如,如果部门下面有4个名字,所有4个名字应该只在一行中。和部门字段不应重复

共有2个答案

白弘伟
2023-03-14

如果您的版本不支持string_agg,则可以在SQl Server中使用stuff

示例

declare @Table table (Employee varchar(50), Department varchar(50))

insert into @Table (Employee, Department)
values ('Aaron Dsouze', 'HR'), ('Sachin', 'HR'), ('Vasant', 'Tech'), ('Bavtosh', 'Tech')

select Department,

       stuff( ( select ', ' + dm.Employee
                from   @Table dm
                where  dm.Department = t.Department 
                For XML PATH ('')
              ), 1, 2, ''
            ) as EmployeeIDs

from   @Table t
group by t.Department

结果是

Department  EmployeeIDs
----------   -------------------
HR          Aaron Dsouze, Sachin
Tech        Vasant, Bavtosh
邢献
2023-03-14

首先按department分组,然后将employeeid列值与STRING_AGG函数合并。下面的查询执行您的查询。

select Department, STRING_AGG(employee id, ', ') AS employee ids 
from yourTable
group by Department 
 类似资料:
  • 问题内容: 我正在尝试更新所有以’agg%’和column_name=’%userid%’之类的字符串开头的表…但是即使我能够找到选择具有特定列的所有表的选项,我也看不到在线的此类示例名称和表名称我需要执行相同的操作来更新这些表,如下所示: 帮助将不胜感激。 谢谢。 问题答案: 获取您条件的更新查询 执行

  • 我正在尝试设置一个脚本,以杀死/中止所有Jenkins中带有特定名称的作业。我很难找到Jenkins类的文档以及其中包含的内容。 我知道有可用的插件,但我被指示不要使用它们。另外,我在这里提到了几个半相关的问题(如何在不重启服务器的情况下阻止Jenkins上无法阻止的僵尸工作?),(取消排队构建并中止使用Groovy for Jenkins执行构建),我尝试重新编写其中的一些代码,但这并不会导致作

  • 我有一个租户表,一次只能有一个租户处于活动状态。 要激活租户,我使用以下代码。是否有更好的方法使用spring data mongo更改所有行的特定列。

  • 问题内容: 我有下表,其中包含两个字段,即a和b,如下所示: 插入一些记录: 注意 :现在我要向员工显示唯一且仅属于部门和部门的员工。因此,根据条件,只应显示雇员,因为他仅属于部门和部门。但是员工不应因为属于而出现。 预期结果 : 如果条件为:,则结果应为: 如果条件为:,则结果应为: 如果条件是:,并且随后的结果应该是: 注意 :我只想在子句中执行此操作(不想使用and子句),因为我还将在另一个

  • 我有一个用户类,每个用户实例都有一个配置文件。个人资料有一个avatarImage属性,我想更新它。我可以在运行时更新用户的字段,但不能更新该用户配置文件的字段。我正在使用springsecurity获取当前用户,我想更新他的avatarImage,但在运行时我得到了一个SQLException。 用户域类: } 配置文件域类: 用户控制器: 用户服务: 错误/堆栈跟踪: 我花了两天时间试图解决这

  • 当成员因工作原因岗位变更,需要同步调整成员所在部门时: 1、管理员登录企业管理平台,进入通讯录,搜索并选择需要调整的成员 2、选中成员后点击移动按钮 3、为成员选择需要移动至的目标部门后保存