问题描述
嗨,
我有一个cust_bug_test表,有2列 (ROOT_CAUSE,BUG_NUMBER),如下所示:
我有一个查询: 从cust_bug_test中选择regexp_substr(root_cause,'\ #([a-z0-9 _] )',1,1,'i',1) 标签,bug_number从cust_bug_test中获取如下输出:
现在我想在上面插入2列和那里的组合 (与 '_' 连接) 到另一个表3列。
其他表名是cust_bug_tag,它的创建方式如下:
我希望我的cust_bug_tag有如下这样的条目:
您能否告诉我完整的查询,它将从第一个表中选择行,并像上面一样在cust_bug_tag中插入这些行。
我有一个cust_bug_test表,有2列 (ROOT_CAUSE,BUG_NUMBER),如下所示:
create table cust_bug_test(ROOT_CAUSE VARCHAR(250), BUG_NUMBER NUMBER NOT NULL PRIMARY KEY);
insert into cust_bug_test(ROOT_CAUSE, BUG_NUMBER ) values('This is a #test issue.', 25940149);
insert into cust_bug_test(ROOT_CAUSE, BUG_NUMBER ) values('This is a #timing issue', 25768241);
insert into cust_bug_test(ROOT_CAUSE, BUG_NUMBER ) values('#timing', 26167402);
insert into cust_bug_test(ROOT_CAUSE, BUG_NUMBER ) values('this is #test issue.', 23250474);
insert into cust_bug_test(ROOT_CAUSE, BUG_NUMBER ) values('This is a #code issue', 23742921); 我有一个查询: 从cust_bug_test中选择regexp_substr(root_cause,'\ #([a-z0-9 _] )',1,1,'i',1) 标签,bug_number从cust_bug_test中获取如下输出:
HASHTAG BUG_NUMBER ------------------------------ ---------- test 25940149 timing 25768241 timing 26167402 test 23250474 code 23742921
现在我想在上面插入2列和那里的组合 (与 '_' 连接) 到另一个表3列。
其他表名是cust_bug_tag,它的创建方式如下:
create table cust_bug_tag(tag_id VARCHAR(250) NOT NULL PRIMARY KEY, hashtag VARCHAR(250), BUG_NUMBER NUMBER REFERENCES cust_bug_test (BUG_NUMBER));
我希望我的cust_bug_tag有如下这样的条目:
tag_id HASHTAG BUG_NUMBER -------------- ----------------- ---------- test_25940149 test 25940149 timing_25768241 timing 25768241 timing_26167402 timing 26167402 test_23250474 test 23250474 code_23742921 code 23742921
您能否告诉我完整的查询,它将从第一个表中选择行,并像上面一样在cust_bug_tag中插入这些行。
专家解答
我不明白为什么您需要将值复合成一列?
总的来说,这是个坏主意。改为创建复合主键:
无论如何,要将值添加到新表中,您只需要插入select:
总的来说,这是个坏主意。改为创建复合主键:
create table cust_bug_tag( hashtag VARCHAR(250), BUG_NUMBER NUMBER REFERENCES cust_bug_test (BUG_NUMBER), primary key (hastag, bug_nubmer) );
无论如何,要将值添加到新表中,您只需要插入select:
insert into cust_bug_tag
select regexp_substr(root_cause,'\#([a-z0-9_]+)',1,1,'i',1) || '_' || BUG_NUMBER,
regexp_substr(root_cause,'\#([a-z0-9_]+)',1,1,'i',1) , BUG_NUMBER
from cust_bug_test;
select * from cust_bug_tag;
TAG_ID HASHTAG BUG_NUMBER
test_25940149 test 25940149
timing_25768241 timing 25768241
timing_26167402 timing 26167402
test_23250474 test 23250474
code_23742921 code 23742921 「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




