SQL可以实现这个功能吗

如下图,同一个人可能需要负责多个岗位,能不能按姓名合并成一行,并且相应的岗位位置不变。 :pray:

姓名 岗位1 岗位2 岗位3 岗位4

安海风 室内
安海风 卫生
安海叶 卫生
安海叶 院内

GROUP_CONCAT(mysql)
应该都有类似的函数 但要看版本

SELECT 
  name, 
  GROUP_CONCAT(position ORDER BY position SEPARATOR ' ') AS positions
FROM 
  staff
GROUP BY 
  name;

这样的实现很奇怪。根据 XY-problem,建议你把具体的需求描述一遍。

我不是很懂啊,想问问看这样合并的目的是什么?

方便的话,楼主可以给一下表结构,方便大家进一步想办法。

SQL这种形式化语言查询问GPT是最好的,也是最快的。把你的问题清晰的描述给AI,快速帮你写SQL语句

感谢各位的回复和帮助。 :pray:
我再描述一下我的意思啊。

安海风 卫生
安海风 室内

------>

安海风 卫生 室内

至于说做这个的意义或目的,就是让干一样或多样工作的人都只领一份福利,并且知道其是从哪个岗位领取的。这个问题是不是excel完成不了啊?

姓名 岗位1 岗位2
安海风 卫生
安海风[空格]室内 //室内对应岗位2

----------->

安海风 卫生 室内

这里的岗位1、岗位2、岗位3、岗位4是有确定的表的吗?
你是要按1234的顺序排?有没有可能出现134或者24这样的?

可以认为岗位1就是卫生,岗位2就是室内,岗位3就是室外。但有的人可能只有一项,有的人可能会有多项,且不固定是哪几项。

excel当然可以处理,插入-枢纽分析表

sqlserver中使用行转列处理一下数据
具体问AI,我试了下DeepSeek,结果是
Name 室内 卫生 院内


安海风 1 1 0
安海叶 0 1 1