我有一个联系人表
id(主健) name(姓名) depname(部门名称) idtag(标识是否属于同一个人)
录入新员工的时候可以选择多个部门,会往这个表里插入相应数量的记录,
比如我现在新增加一个人,选择了3个部门,添加就会往数据库里插入3条相应记录,
第1条的时候idtag字段为first,之后的记录idtag字段都为第1条记录的主健,
现在要写一个视图把联系人表列出来,同一个人的部门名称要合并为一列显示出来,这个视图该怎么写?
我想应该还要写个函数来求dename的合并字段
比如
id name depname idtag
1 x 单位A first
2 x 单位B 1
3 y 单位C first
4 z 单位A first
5 z 单位D 4
第1,2条记录是同一个人X
第3跳记录是同一个人Y
第4,5跳记录是同一个人Z
分属于不同单位要写一个视图把数据列出来 depname合并为一个字段id name depname
1 x 单位A,单位B
3 y 单位C
4 z 单位A,单位D
id(主健) name(姓名) depname(部门名称) idtag(标识是否属于同一个人)
录入新员工的时候可以选择多个部门,会往这个表里插入相应数量的记录,
比如我现在新增加一个人,选择了3个部门,添加就会往数据库里插入3条相应记录,
第1条的时候idtag字段为first,之后的记录idtag字段都为第1条记录的主健,
现在要写一个视图把联系人表列出来,同一个人的部门名称要合并为一列显示出来,这个视图该怎么写?
我想应该还要写个函数来求dename的合并字段
比如
id name depname idtag
1 x 单位A first
2 x 单位B 1
3 y 单位C first
4 z 单位A first
5 z 单位D 4
第1,2条记录是同一个人X
第3跳记录是同一个人Y
第4,5跳记录是同一个人Z
分属于不同单位要写一个视图把数据列出来 depname合并为一个字段id name depname
1 x 单位A,单位B
3 y 单位C
4 z 单位A,单位D
解决方案 »
- 17003 无效的列索引
- 请助SQL批量插入数据的问题?
- 如果想统计每个小时有几条记录,sql要怎么写啊!
- 触发器SCOTT.USER_CHANGE_EMPDATA 无效且未通过重新验证
- oracleagent启动失败。怎么办?
- 如何将ORACLE的数据导到MS SQL SERVER 上?
- 版主好,占用一点空间,希望大家看到,学校暴力!
- “用尽的 ResultSet”是怎么回事?
- 从Oracle里取数据为什么全变成了0x61646D696E6973747261746F7273??
- 如何创建oracle9.2.0.1中的LDAP的instance以及如何启动LDAP目录服务器??
- “ora-06512 错误” 储存过程DEBUG状态错误不发生,更新表调用触发器报错
- C#下能用thin方式连接oracle数据库?oracle8.17是否有64位的版本?
select min(id)id,name,WMSYS.WM_CONCAT(depname)depname
group by name
select max(decode(idtag,'first',id))id,name,WMSYS.WM_CONCAT(depname)depname
group by name
你可以到ms-sql server区问问