मेरे पास दो टेबल हैं और मैं उन्हें मर्ज करना चाहता हूं
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