总结列,但不同的项目应插入
问题描述:
我有两个表,我想将它们合并总结列,但不同的项目应插入
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
我使用Oracle 10。不能使用这些代码? – user951487
为什么有4个表格t1,t2,t3,t4?我只有两个表和一个结果表 – user951487