纵表横向显示

badboy 2012-09-16 08:29:41
比如:有表信息,结构为:
-------------------
部门 姓名
-------------------
人事部 张三
财务部 李四
人事部 王五
-------------------

现在想用SQL语句显示结果为(部门信息不确定!!!!):
----------------------
部门 人员
----------------------
人事部 张三,李四
财务部 王五
...全文
142 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
mysdzlt2007 2012-09-17
  • 打赏
  • 举报
回复
忘记了,表名=MYTABLE,部门=DEPART,姓名=NAME。。。。[Quote=引用 3 楼 的回复:]
结果对么?
试试这样:

SQL code

WITH MEDIUM(DT,NM,GPNM) AS (
SELECT DISTINCT DEPART,CAST('' AS VARCHAR(100)),0 FROM MYTABLE
UNION ALL
SELECT DEPART,NAME,ROWNUMBER() OVER(PARTITION BY DEPART) FROM MYT……
[/Quote]
mysdzlt2007 2012-09-17
  • 打赏
  • 举报
回复
结果对么?
试试这样:
WITH MEDIUM(DT,NM,GPNM) AS (
SELECT DISTINCT DEPART,CAST('' AS VARCHAR(100)),0 FROM MYTABLE
UNION ALL
SELECT DEPART,NAME,ROWNUMBER() OVER(PARTITION BY DEPART) FROM MYTABLE
),
TEMP(DPT,NAM,GRPNUM) AS (
SELECT * FROM MEDIUM WHERE NM=''
UNION ALL
SELECT DT,CAST(NM||','||NAM AS VARCHAR(100)),GRPNUM+1 FROM TEMP,MEDIUM WHERE DPT=DT AND GRPNUM=GPNM-1
)
SELECT DPT,LEFT(NAM,LENGTH(NAM)-1) FROM TEMP A WHERE A.GRPNUM=(SELECT MAX(GRPNUM) FROM TEMP B WHERE B.DPT=A.DPT)
zhaojianmi1 2012-09-16
  • 打赏
  • 举报
回复
http://www.cppblog.com/prayer/archive/2010/05/18/115666.html
badboy 2012-09-16
  • 打赏
  • 举报
回复
在线等!!

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧