/ / अलग कॉलम, लेकिन अलग-अलग शब्दों को सम्मिलित किया जाना चाहिए - ओरेकल, अलग, कुल, स्ट्रिंग-एकत्रीकरण

कुल कॉलम लेकिन अलग-अलग शब्दों को डाला जाना चाहिए - ऑरैकल, विशिष्ट, कुल, स्ट्रिंग-एग्रीगेशन

मेरे पास दो टेबल हैं और मैं उन्हें मर्ज करना चाहता हूं

TERMS_TABLE

ID  | TERMS
309 | "hardware"
309 | "software"
309 | "computer"



TFIDF_TABLE

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

अब मैं TERMS कॉलम जोड़ना चाहता हूँ TERMS_TABLE के कॉलम के लिए TFIDF_TABLE लेकिन यदि TFIDF_TABLE में पहले से ही TERMS_TABLE का शब्द समाहित है, तो मुझे इस शब्द को NEW_TFIDFABLE में सम्मिलित नहीं करना चाहिए, जैसे

परिणाम होना चाहिए:

NEW_TFIDF_TABLE

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

मैं उसे कैसे कर सकता हूँ ?

उत्तर:

जवाब के लिए 2 № 1

यदि आप 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

Oracle 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