请教一个Oracle父子关系的sql语句

fengyeyy77 2010-06-30 09:39:58
有一个试图 。是从表里取出的。
字段 : ss(父亲) xx(儿子)
值: aa cc
bb dd
ee
ff
gg hh
我想让CC、dd、hh和ee、ff变成一列。把有儿子的父亲单独列出来。请问要怎么写啊 ???


...全文
105 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
vanjayhsu 2010-06-30
  • 打赏
  • 举报
回复
看楼主的意思,应该是要取没有儿子的父亲以及有父亲的儿子的组合。
分两步:
1、取出没有儿子的父亲,这句SQL很显然:
select ss from view_name where xx is null
2、取出有父亲的儿子
select xx from view_name where ss is not null and xx is not null
最后,把上面的结果UNION ALL起来就是楼主想要的结果了。
skelly_huang 2010-06-30
  • 打赏
  • 举报
回复
有儿子的父亲 where xx is null,然后把父亲合成一列wmsys.wm_concat(ss)

select wmsys.wm_concat(ss) from view where xx is null ;
xuesongliu 2010-06-30
  • 打赏
  • 举报
回复
没看明白你的意思。ee、ff是父亲的值还是儿子的值?如果只是想把有儿子的父亲列出来,按你表中的数据where条件 xx<>null 就可以了吧
iqlife 2010-06-30
  • 打赏
  • 举报
回复
CC、dd、hh和ee、ff 是所有儿子吧,你是想变成一行吧???
还是我理解能力有问题?

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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