Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

सबक्वेरी त्रुटि और xmllagg का उपयोग करके बहुत अधिक मान

Xmlagg और xQuery का संयोजन, यह आसान नहीं है।

select xmlquery('distinct-values(//text())' passing x returning content).getclobVal(),data_type from (
    select   xmlelement(root, xmlagg(XMLELEMENT(e,table_name,','))) x ,data_type
     from user_tab_cols where data_type in ('VARCHAR2','NUMBER')     
     group by data_type
     )

और आपके उद्देश्य के लिए यह इस तरह दिखना चाहिए

select 
    app, key_event,  
    xmlquery('distinct-values(//text())' passing xmldoc returning content).getclobVal()
from 
    (select  
         t2.app,  
         coalesce(max(case when language =  2 then description end), 
                  max(case when language = 12 then description end), 
                  max(case when language = 27 then description end), 
                  'NULL') key_event,
         XMLELEMENT(root, xmlagg(XMLELEMENT(e, description, ','))
    ) xmldoc
from 
    table2 t2 
left join 
    table1 t1 on t1.app = t2.app 
group by 
    trans, t2.app
order by trans);

यदि आप इस प्रश्न को विघटित करेंगे तो आप देखेंगे कि यह कैसे काम करता है।

xquery डिफरेंट-वैल्यू सिंटैक्स

xmlquery सिंटैक्स



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ADO.NET/C# के माध्यम से Oracle (ODP.NET 10g) में ऐरे/टेबल पैरामीटर का उपयोग कैसे करें?

  2. Oracle में किसी दिनांक को फ़ॉर्मेट करते समय वर्ष की वर्तनी कैसे करें

  3. हाइबरनेट एक ही तालिका में दो बार शामिल होने के लिए मानदंड बनाएं - 2 अंतर त्रुटि के साथ 2 दृष्टिकोण की कोशिश की

  4. sql/plsql का उपयोग करके, आप कैसे पता लगाते हैं कि टेक्स्ट किस वर्ण सेट का उपयोग करता है?

  5. सभी ऑपरेटर वीएस कोई खाली क्वेरी पर