SQL语句实现字段的合并

SQL语句实现字段的合并
例如:ID CODE THING Qnty
1 C001 aaa 1
1 C001 aab 2
1 C001 aac 1
1 C002 aba 2
1 COO2 abb 3
1 C002 abc 1
2 D001 bbb 1
2 D001 bba 3
实现的结果:
ID CODE THING Qnty
1 C001 aaa 1
aab 2
aac 1
C002 aba 2
abb 3
abc 1
2 D001 bbb 1
bba 3
各位高手请帮忙,我是新手。。
上面只是个小小的简单例子而已,我要合并的数据很多。能不能简单一些啊,并把代码写给我下,谢谢!!!
oracle 的话可以这样森握扒 先添加一个伪劣 rn 运行下面试试 看皮亩看

with tt as (
select 1 id, 'C001' h, 'aaa' a, 1 sl, 1 as rn
from dual
union all
select 1, 'C001', 'aab', 2, 2
from dual
union all
select 1, 'C001', 'aac', 1, 3
from dual
union all
select 1, 'C002'此昌, 'aba', 2, 4
from dual
union all
select 1, 'C002', 'abb', 3, 5
from dual
union all
select 1, 'C002', 'abc', 1, 6 from dual
)

select
case
when t1.rn > t2.rn and t1.h = t2.h and t1.id = t2.id then
null
else
t2.id
end,
case
when t1.rn > t2.rn and t1.h = t2.h and t1.id = t2.id then
null
else
t2.h
end,

t1.a,t1.sl

from (select * from tt) t1
left join (select id, h, min(rn) rn from tt group by id, h) t2 on t1.h = t2.h
and t1.id =
t2.id
and t1.rn =
t2.rn

order by t1.rn
新手居链雹然提这么高深的问题...
用循环铅型吧,先显示第一行
第二行ID 与第一行ID 比较,如果相同,则输出空,如果不同则直接输出
第二行CODE 与第一行CODE 比较,如果相同,则输出空棚激帆,如果不同则直接输出
THING Qnty 直接输出
select ID,CODE,THING,sum(Qnty) from table group by ID,CODE,THING
← 上一篇: 下一篇: →