在oracle中1张表中有4个字段我要根据其中2个字段查询中一条记录

例如:idnumbername11管理员112管理员213管理员313管理员422管理员521管理员633管理员731管理员842管理员9执行完SQL完要求输出结果如下:... 例如:
id number name
1 1 管理员1
1 2 管理员2
1 3 管理员3
1 3 管理员4
2 2 管理员5
2 1 管理员6
3 3 管理员7
3 1 管理员8
4 2 管理员9
执行完SQL完要求输出结果如下:
id number name
1 1 管理员1
1 2 管理员2
1 3 管理员3,管理员4
2 1 管理员5
2 2 管理员6
2 3
3 1 管理员8
3 2
3 3 管理员7
4 1
4 2 管理员9
4 3
展开
 我来答
华夏日长兴
2014-05-06 · TA获得超过9593个赞
知道大有可为答主
回答量:6305
采纳率:85%
帮助的人:3756万
展开全部
nubmer是关键字,你最好不要用number做字段名称,我改成 no 给你写了一个语句,是oracle11g下的:
select a.id, a.no, b.name
from (select *
from (select distinct id from tb), (select distinct no from tb)) a,
(select id, no, listagg(name, ',') within group(order by id, no) name
from tb
group by id, no) b
where a.id = b.id(+)
and a.no = b.no(+)
order by a.id, a.no
更多追问追答
追问
within  未找到from关键字啊.
追答
你的oracle是11g的版本不?
给你写个10g的吧:
select a.id, a.no, b.name
from (select *
from (select distinct id from tb), (select distinct no from tb)) a,
(select id, no, wm_concat(name) name from tb group by id, no) b
where a.id = b.id(+)
and a.no = b.no(+)
order by a.id, a.no
IT职场成长课
2014-05-06 · TA获得超过612个赞
知道小有建树答主
回答量:192
采纳率:0%
帮助的人:67.6万
展开全部
select id,number,wm_concat (name) from tab group by id,number;
你试试
追问
这个只能查询出name 是有值得情况,如果name 为空前面的那部分就不会显示了.可以做到吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-05-06
展开全部
八年级磨合吧卡
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式