Oracle中某一表单中的字段里的存放的值为逗号隔开另一表单字段中的多个值,该如何取值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle中某一表单中的字段里的存放的值为逗号隔开另一表单字段中的多个值,该如何取值相关的知识,希望对你有一定的参考价值。

formtable_main_19 :
code wgz06 wgz02
1 001 2014-01-02
2 001,0002 2014-03-04
3 001,0002,00003 2014-05-01
DocDetail:
id docsubject
001 浙江大华合同
0002 唐山万全合同
00003 南京空分合同
Code wgz02 wgz06 id docsubject
1 2014-01-02 001 001 浙江大华合同
2 2014-03-04 001 001 浙江大华合同
2 2014-03-04 001,002 0002 唐山万全合同
3 2014-05-01 001,0002,00003 001 浙江大华合同
3 2014-05-01 001,0002,00003 0002 唐山万全合同
3 2014-05-01 001,0002,00003 00003 南京空分合同

参考技术A create table stuu(code char(4), course_id varchar2(50),cdate date); --创建表
--插入测试数据
insert into stuu(code,course_id,cdate) values('1','1001',sysdate);
insert into stuu(code,course_id,cdate) values('2','1001,1002',sysdate);
insert into stuu(code,course_id,cdate) values('3','1001,1002,1003',sysdate);
create table cours(id char(4),cname varchar2(10));--创建表
--插入测试数据
insert into cours(id,cname) values('1001','语文');
insert into cours(id,cname) values('1002','数学');
insert into cours(id,cname) values('1003','英语');
--先将课程表组合成各种方式的连接,然后再与学生表进行对比查询出想要的数据
select s.code,s.course_id,s.cdate,ss.cname from stuu s,
((select id,cname from cours) union all
(select
a.id||','||b.id id,
a.cname||','||b.cname cname
from cours a,cours b where a.id <> b.id)
union all
(select
a.id||','||b.id||','||c.id id,
a.cname||','||b.cname||','||c.cname cname
from
cours a,
cours b,
cours c
where a.id <> b.id and b.id <> c.id)) ss where s.course_id=ss.id

--已经测试过了,能查询出来的
是否可以解决您的问题?追问

语句中的字段,能换成我给的字段吗

以上是关于Oracle中某一表单中的字段里的存放的值为逗号隔开另一表单字段中的多个值,该如何取值的主要内容,如果未能解决你的问题,请参考以下文章

oracle如何将多个值放在一个字段里面 用逗号隔开

sql 查询某列值为 a和b

怎么获取DataTable中某一字段的值

oracle 如何将一个字段里的值拆分为多个值显示出来

ArcGIS批量拆分属性表中某一字段

怎样取得dataTable中某一单元格的值