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

作者&投稿:明梅 (若有异议请与网页底部的电邮联系)
oracle如何将多个值放在一个字段里面 用逗号隔开~

wmsys.wm_concat() 这个函数,是把一列的值都取出来放在一个字段里,并且是用逗号隔开的

SELECT rownum, t.aid, wm_concat (t1.name) FROM leader t INNER JOIN leader_name t1 ON INSTR( CONCAT(',', t.aid, ','), CONCAT(',', t1.bid, ',') ) > 0 GROUP BY t1.aid ;试试,思路就是根据字符串截取,匹配id,然后group by,行转列。防止那种1匹配到10,就按照前后加逗号的方式

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

--已经测试过了,能查询出来的

SELECT FO.CODE, LISTAGG(DO.D, ',') WITHIN GROUP(ORDER BY DO.ID) D, FO.WGZ02
FROM (SELECT CODE, REGEXP_SUBSTR(WGZ06, '[^,]+', 1, LEVEL) WGZ06, WGZ02
FROM FORMTABLE_MAIN_19
CONNECT BY LEVEL <= REGEXP_COUNT(WGZ06,',') + 1
AND PRIOR ROWID = ROWID
AND PRIOR DBMS_RANDOM.VALUE() IS NOT NULL) FO
LEFT JOIN DOCDETAIL DO
ON (FO.WGZ06 = DO.ID)
GROUP BY FO.CODE, FO.WGZ02


racle触发器插入A表一条数据并把这条数据插入到B表中
racle触发器插入A表一条数据并把这条数据插入到B表中 100 oracle,就是A,B表一模一样,我要在插入A表的时候,B表也插入一下... oracle,就是A,B 表一模一样,我要在插入A表的时候,B表也插入一下 展开  我来答 1个回答 #热议# 公司那些设施可以提高员工幸福感?1346795147369 2016-06-21 知道答主...

oaracle 中auto increasement=2什么意思
建立后表是空的,插入一条记录 insert into `zimu` VALUES (NULL, 'a'),这个时候表里的第一条记录内容就是 1,'a' ;再插入一次 insert into `zimu` VALUES (NULL, 'a'),这个时候表里的第二条记录内容就是 2,'a'。auto_increment 就是对主键 id 自动增加编号的。如果你想 为你插入的...

怎么用linux命令连接racle数据库(linux如何连接数据库)
1、登录到Linux后,就可以在命令窗口直接对Linux进行操作了。先将用户切换到Oracle。当显示为[oracle@db~]$时,说明切换成功。命令:su-oracle;2、切换到Oracle用户之后,我们登录到到sqlplus,使用dba权限登录到sqlplus。在sqlplus中,我们使用conn连接一下我们具体想要操作的数据库用户。命令:connusername...

下列关于0racle数据库物理存储的叙述中,不正确的是( )。
在Oracle中,物理存储按数据块、盘区和段来组织。存储粒度的最好选择是数据块,它是一个固定的字节数。盘区是特定数量的连续数据块。一个段是一组分配了特定数据结构的盘区。存储空间大小的选择是以数据块为单位。对于一张给定的表,数据可能存放在数据段中,而索引可能存放在索引段中。

xll手表MlRACLE多少钱?
1. 您需要提供具体的问题或文本内容,以便我能够帮助您进行修改和润色。2. 请确保提供的内容是您希望修改的原始文本,以便我能够保持语义不变并提升内容质量。

xll手表MlRACLE多少钱?
请在此输入您的回答

oracle 如何删除一行数据?
方法1、sql:deletefrom数据库.表名whereid='1'讲解:如果不用跨库,可以省略“数据库”。1代表唯一的一条记录,是参数。如果省略where,则删除所有记录,如果指定where,则删除指定满足条件的记录。方法2、PL\/SQLDev的话有个简单的方法:首先,用select...forupdate语句查出结果,然后,开锁,用和...

oracle中float 在sqlserver中对应哪个 类型
*为0或1,存储在索引中。 UROWID 同上 存储在索引中 NROWID 二进制数据表中记录的唯一行号 最大长度4000 bytes NUMBER(P,S) 数字类型 P为总的位数,S为小数位 DECIMAL(P,S) 数字类型P为总的位数,S为小数位 INTEGER 整数类型 的整数 FLOAT 浮点数类型 NUMBER(38),双精度 REAL ...

请问oracle数据库恢复怎么办啊 求解
racle数据库恢复,主要包括 (1)系统崩溃只剩下数据文件的情况下的恢复,甚至没有system表空间而只有数据表空间的情况下的恢复.只要提供数据文件就可恢复.(2) undo system 表空间损坏数据恢复 .(3) 非归档或者归档模式下误 delete 数据的恢复、误删除表空间的恢复、 drop truncate update 表的恢复 .(4...

ORACLE 中英文对照表
Oracle 总帐管理系统中定义会计期和会计年度的日历。您可以使用“会计日历”窗口来定义会计日历。Oracle 财务分析程序可以使用会计日历自动创建“时间”维。 Accounting Flexfield(会计弹性域) 用于标识 Oracle 财务应用产品中的总帐帐户的代码。每个会计弹性域段值与科目表中的一个汇总或累计帐户对应。 Accounting Flex...

红河县13779077248: oracle命令如何查询一个表中一个字段里内容谢谢 -
双珠益气: select shouji from yhm update yhm set shouji=123

红河县13779077248: 查询oracle表中字段中某数据的命令 -
双珠益气: select * from 表 where 字段='值';查询某数据的详细信息就把那个数据所在字段带入上面语句,某数据就是后面的值 希望恩能够帮到您!

红河县13779077248: Oracle中某一表单中的字段里的存放的值为逗号隔开另一表单字段中的多个值,该如何取值 -
双珠益气: 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...

红河县13779077248: oracle中对某一字段的数据筛选 ,数据表A,表A有个字段为(单位名称),想把单位名称里有些不合要求的删除 -
双珠益气: --先备份表 create table A_BAK as select * from A;--删除含有'处'的数据 delete from A where 单位名称 like '%处%'; COMMIT;

红河县13779077248: Oracle查询表中指定字段的数据是否含有某个字符 -
双珠益气: select * from tab where col1 like '%a%'; 这样就是查询字段col1中是否含有字母a

红河县13779077248: oracle里面一个表的某个字段里面可以存储一个数组吗? -
双珠益气: create or repalce type "type_arr" is table of (varchar2,number....)类型自定

红河县13779077248: oracle查询表中字段里数据是否有重复 -
双珠益气: 查询A表中字段a、b重复的数据:select a,b from A group by a,b having count(*) > 1删除表中多余的重复记录(多个字段),只留有rowid最小的记录 delete from 表 A where (A.a,A.b) in (select a,b from A group by a,b having count(*) > 1) and rowid not in (select min(rowid) from Z group by a,b having count(*)>1)

红河县13779077248: oracle怎么更新表中的某一个字段的值? -
双珠益气: 通过Update语句将A表的某列值修改为B表中的指定列的值时,所用的sql语句在Oracle和SQL Server中是不一样的, 代码如下: Oracle中的语句: UPDATE A SET A.COL1=(SELECT B.COL1 from B where A.KEY=B.KEY [and 其它限制(可选)] ) where 其它条件 SQL Server中更新语句: update A SET A.COL1=B.COL1 FROM A,B where A.KEY=B.KEY where 其它条件限制. 若关联条件为多个,where后面用and 连接指定条件即可.

红河县13779077248: oracle中如何查询某个表中哪些字段含有某个字符? -
双珠益气: 方法1 查询该字段,用EXCPTION异常抓取,如果没异常则说明有该字段,如果进入异常程序块则说明无该字段 方法2 select count(column_name) from ALL_TAB_COLUMNS where owner='TMU_TMAAS' and table_name=upper('T_TMAAS_APP_TMZY_CHANGEAPPFORM') and column_name=upper('id')

红河县13779077248: 用oracle如何查询出一个表中的一个字段内容包含另一个表中的某个字段的值呢 -
双珠益气: 描述再详细些,这两个表的字段是否以知,确定,如果能确定是哪连个字段可用如下SQL select * from table1 where exists (select 1 from table2 where table1.columA like '%' || table2.columB || '%') 如果不确定想要所有匹配,那就写存储过程吧

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网