oracle 把表的一行数据变为多行显示

这里举个简单的例子,比如图一表AA2的第二行数据,李英的friend1和friend2有数据,则新的sql结果集显示为两行,春风的friend1,2,3没数据,则新的sq... 这里举个简单的例子,比如图一表AA2的第二行数据,李英的friend1和friend2有数据,则新的sql结果集显示为两行,春风的friend1,2,3没数据,则新的sql结果无任何数据
图一:

最后的结果如下:(我只是另外建了张新表,数据写死的,实际需要高手们用sql实现)。
图二:

sql简单越单越好,因为实际中仅查询的sql语句就有好几十行,而且像图一中只有三个friend,而实际情况有好几十类似的列,所以最好不要直接不断的union all 来实现.
好吧,直接union 实现,也请各位把sql写好再给分吧.
展开
 我来答
wangzisenya
2014-07-24 · TA获得超过761个赞
知道小有建树答主
回答量:675
采纳率:0%
帮助的人:234万
展开全部
你的这种显示只能把每一列先查询出来,也就是联合查询实现,不然无法显示成这种结果
追问
好吧,直接union 实现,也请把sql写好再给分吧.
追答
select a.id,a.name,a.friend1 from friendtable a where a.friend1 is not null union all
select b.id,b.name,b.friend2 from friendtable b where b.friend2 is not null union all
select c.id,c.name,c.friend3 from friendtable c where c.friend3 is not null order by id
照着这个接着写就行了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式