具体问题就不说了,举个例子说明一下意思:假设我有2个表,记录之间是一对多,结构及数据如下:
T1:
K F
----------
1 A
2 B
3 CT2:
K S
----------
1 A1
1 A2
2 B1
2 B2
2 B3
3 C1我想形成如下格式的查询:
K F S
--------------
1 A A1,A2
2 B B1,B2,B3
3 C C1请问该如何实现??
T1:
K F
----------
1 A
2 B
3 CT2:
K S
----------
1 A1
1 A2
2 B1
2 B2
2 B3
3 C1我想形成如下格式的查询:
K F S
--------------
1 A A1,A2
2 B B1,B2,B3
3 C C1请问该如何实现??
http://blog.csdn.net/fatfoxz/archive/2010/01/06/5144680.aspx
2 from t1,t2
3 where t1.k=t2.k
4 group by t1.k,t1.f; K F S
---------- ---------- ------------------------------
1 A A1,A2
2 b B1,B3,B2
3 C C1
--测试数据如下 和你的一样的 直接把上面的语句复制过去就可以用了
SQL> select * from t1; K F
---------- ----------
1 A
2 b
3 CSQL> select * from t2; K S
---------- ----------
1 A1
1 A2
2 B1
2 B2
2 B3
3 C16 rows selected.
select 1 k,'A' F from dual
union all
select 2 k,'B' F from dual
union all
select 3 k,'C' F from dual),
t2 as(
select 1 k,'A1' S from dual
union all
select 1 k,'A2' S from dual
union all
select 2 k,'B1' S from dual
union all
select 2 k,'B2' S from dual
union all
select 2 k,'B3' S from dual
union all
select 3 k,'C1' S from dual
)
select t1.k,F,wm_concat(s) from t1,t2 where t1.k = t2.k group by t1.k,f