永发信息网

sql 中行数据转成列数据问题。如何一条数据关联的所有用户以 用户1,用户2,用户3 这样的格式查询出来

答案:4  悬赏:0  手机版
解决时间 2021-12-29 12:12
  • 提问者网友:蔚蓝的太阳
  • 2021-12-29 05:04
像下面这样一种格式,请写一下相应的sql语句,便于理解:
1 产品设计部 scsj2010 张三,李四,王五
数据结构肯定是User有个deptId关联Department表比如我要将一个部门的名称,编号,还有部门里面的人在一条数据中查询出来

我要在前端页面的列表上展示所有部门信息,涉及数据量也多。所以肯定是需要sql直接查出来。至于导出excel之类的不考虑。我想要的答案就是一条sql语句。现在用的是mysql。
最佳答案
  • 五星知识达人网友:一秋
  • 2021-12-29 05:45
不知道你啥数据库

一般来说
对于SQL Server 2005 使用FOR XML的方式
对于MySQL使用 GROUP_CONCAT 函数 的方式进行处理
对于Oracle使用 WMSYS.WM_CONCAT 函数 的方式进行处理

详细例子见 参考资料
全部回答
  • 1楼网友:从此江山别
  • 2021-12-29 08:14
wangzhiqing999 的答案是正解。直接将部门中的人名列套用函数就行。
  • 2楼网友:像个废品
  • 2021-12-29 06:43
你好! 如果输出行数固定,可以写一条SQL解决你的问题,基本原理就是用多个union all拼接。如果输出行数不固定,这条SQL很难写,因为我们不知道需要用多少列来表达,而当输出行数很多时,你这个需求就属于不合理需求了,比如有1万行输出难道要转成一个有一万列的表格? 仅代表个人观点,不喜勿喷,谢谢。
  • 3楼网友:七十二街
  • 2021-12-29 06:22
把数据导出到excel,再行列转换不就行了。一定要纯sql解决麽?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯