如下图,同一个人可能需要负责多个岗位,能不能按姓名合并成一行,并且相应的岗位位置不变。 ![]()
姓名 岗位1 岗位2 岗位3 岗位4
安海风 室内
安海风 卫生
安海叶 卫生
安海叶 院内
…
如下图,同一个人可能需要负责多个岗位,能不能按姓名合并成一行,并且相应的岗位位置不变。 ![]()
姓名 岗位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语句
感谢各位的回复和帮助。 ![]()
我再描述一下我的意思啊。
安海风 卫生
安海风 室内
------>
安海风 卫生 室内
至于说做这个的意义或目的,就是让干一样或多样工作的人都只领一份福利,并且知道其是从哪个岗位领取的。这个问题是不是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