写个SQL语句

来源:百度知道 编辑:UC知道 时间:2024/05/27 09:15:46
数据如下
编号 金额 名称
1 10 a
1 10 b
2 20 b
3 10 a
4 40 c
4 40 d

我现在想如果编号和金额都一样,但名称不一样输出这样 1 10 a,b
如果编号和金额有一个不一样,就正常输出,谁能给写个SQL查询出的数据如下

1 10 a,b
2 20 b
3 10 a
4 40 c,d

请大侠帮忙!

使用 wm_concat 函数
之前我学这个函数的时候的例子 给你看
你在这个基础上修改下就OK了
name state
a 1
a 2
a 1
a 1
b 2
b 2

select name wm_concat(state)
from test003
group by name;

结果:
name wm_concat(state)
a 1,2,1,1
b 2,2

你试一下 我因为有点忙 所以没用你的例子测试
如果最后还是不行 我中午休息帮你解决

好了 中午我测试了下 其实跟我上午的例子一样 很简单
select 编号,金额,wm_concat(名称)
from test005
group by 编号,金额;

兄弟 情况怎么样了?

晕死 你的9i不能用...

select 编号,金额,substr(max(sys_conect_by_path(名称,',')),2) 名称 from
(select a.*,row_number(partition by 编号,金额 order by 名称) id from 表名 a)
start with id=1
connect by prior id=id-1 and prior 编号=编号 and prior 金额=金额
order by 编号;
兄弟 试下这个