2011-10-25 2 views
0

나는 두 개의 테이블이 삽입되어야하고, 나는 그들에게집계 열하지만 별개의 용어는

TERMS_TABLE 

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



TFIDF_TABLE 

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

지금은 TFIDF_TABLE 이미 TERMS_TABLE의 조항이 포함되어있는 경우 TFIDF_TABLE 약관 열에 TERMS_TABLE의 조건 열을 추가하지만, 할을 병합 할 그때되어야한다는

결과처럼 NEW_TFIDF_TABLE이 용어를 삽입하지 않아야

NEW_TFIDF_TABLE 

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

H 내가 할 수 있니?

답변

2

오라클 (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 일 당신은 내가 오라클 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

을 시도 할 수 있습니다. 이 코드를 사용할 수 없습니까? – user951487

+0

4 테이블 t1, t2, t3, t4가있는 이유는 무엇입니까? 두 테이블과 결과 테이블 만 있습니다. – user951487