总结列,但不同的项目应插入

问题描述:

我有两个表,我想将它们合并总结列,但不同的项目应插入

TERMS_TABLE 

ID | TERMS 
309 | 'hardware' 
309 | 'software' 
309 | 'computer' 



TFIDF_TABLE 

    ID | TERMS 
309 |'computer,phone,mp3....' 

现在我想的TERMS_TABLE条款列添加到项列TFIDF_TABLE但如果TFIDF_TABLE已经包含TERMS_TABLE条款那么我不应该插入这个词的NEW_TFIDF_TABLE,像

的结果应该是:

NEW_TFIDF_TABLE 

    ID | TERMS 
309 |'computer,phone,mp3....,hardware,software' 

^h我能做到吗?

如果您使用Oracle 11你可以试试这个:

select t3.id, t3.terms||','||t4.terms terms from 
(
select t1.id, listagg(t1.terms,',') within group (order by t1.terms) terms 
from terms_table t1 join tfidf_table t2 on t1.id=t2.id 
where instr(t2.terms,t1.terms)=0 
group by t1.id) 
t3 right outer join tfidf_table t4 on t3.id=t4.id 

在甲骨文10,你可以尝试

select t3.id, t3.terms||','||t4.terms terms from 
(
select t1.id, wm_concat(t1.terms) terms 
from terms_table t1 join tfidf_table t2 on t1.id=t2.id 
where instr(t2.terms,t1.terms)=0 
group by t1.id) 
t3 right outer join tfidf_table t4 on t3.id=t4.id 
+0

我使用Oracle 10。不能使用这些代码? – user951487

+0

为什么有4个表格t1,t2,t3,t4?我只有两个表和一个结果表 – user951487