多的一方最多只会有4条记录
表A 表B
ID NAME.... ID NAME A.ID
001 00101 t1 001
00102 t2 001
00103 t3 001
00104 t4 001
想做一张视图 展示如下效果
A.ID A.NAME B.NAME1 B.NAME2 B.NAME3 B.NAME4
001 t1 t2 t3 t4
表A 表B
ID NAME.... ID NAME A.ID
001 00101 t1 001
00102 t2 001
00103 t3 001
00104 t4 001
想做一张视图 展示如下效果
A.ID A.NAME B.NAME1 B.NAME2 B.NAME3 B.NAME4
001 t1 t2 t3 t4
解决方案 »
- SQL 高级联合查询,请能解决的朋友请,在线等
- ORACLE - Can not allocate log, archival required
- 请各位帮帮我看一个存储过程
- Oracle SQL查询不出结果
- 关于无法进入xdb的问题
- 请教 Oracle的存储过程
- 这条update语句出错了,系统总是提示:[Microsoft][ODBC driver for Oracle][Oracle]ORA-01861: 文字与格式字符串不匹配
- 如何判断在ORACLE中一字段是否是某表的主键
- oracle 表空间问题??
- 哪里可以下载oracle developer2000,
- 两表更新这样写有优化余地吗?
- sys_refcursor的问题
select A.ID,
A.NAME,
WMSYS.WM_CONCAT(B.NAME)
FROM A,B
WHERE A.ID=B.AID
group by A.ID,A.NAME把上面的查询外面套一个外查询,把B.NAME字段值用substr分开取出来,省略,你自己练
with a as(
select '001' id,'' name from dual)
,b as(
select '00101' id,'t1' name,'001' a_id from dual union all
select '00102','t2','001' from dual union all
select '00103','t3','001' from dual union all
select '00104','t4','001' from dual)
select a.id,a.name,wmsys.wm_concat(b.name)
from a,b
where a.id=b.a_id
group by a.id,a.name;ID NAME WMSYS.WM_CONCAT(B.NAME)
--- ---- --------------------------------------------------------------------------------
001 t1,t2,t3,t4