आप एक साधारण PIVOT
सुविधा।
फर्क सिर्फ इतना है कि आप PIVOT
. नहीं करना चाहते हैं कॉलम पर मान , लेकिन कीवर्ड क्रम . पर संभव है ।
यहां वर्णमाला क्रम . पर पिवट करने के लिए क्वेरी खोजशब्दों की।
ध्यान दें, कि पहली दो उपश्रेणियाँ केवल सरलीकृत डेटा उत्पन्न करती हैं इस प्रकार है:
CODPRO CODRCA
------- ------
400JE LOGIST
400JE INDLEG
50EFJ10 TP
50EFJ10 ESPVER
50EFJ10 AGRICU
50EFJ10 INDLEG
50EFJ10 LOGIST
क्वेरी CODRCA
. के क्रम का उपयोग करके पहली पंक्ति संख्या की गणना करती है और pivot
उस पर:
with PRO as (
select '400JE' CODPRO from dual union all
select '50EFJ10' CODPRO from dual),
RCA as (
select '400JE' CODPRO, 'LOGIST' CODRCA from dual union all
select '400JE' CODPRO, 'INDLEG' CODRCA from dual union all
select '50EFJ10' CODPRO, 'TP' CODRCA from dual union all
select '50EFJ10' CODPRO, 'ESPVER' CODRCA from dual union all
select '50EFJ10' CODPRO, 'AGRICU' CODRCA from dual union all
select '50EFJ10' CODPRO, 'INDLEG' CODRCA from dual union all
select '50EFJ10' CODPRO, 'LOGIST' CODRCA from dual),
rn as (
select PRO.CODPRO,RCA.CODRCA,
row_number() over (partition by PRO.CODPRO order by RCA.CODRCA) as rn
from PRO
join RCA on PRO.CODPRO = RCA.CODPRO)
select *
from rn
pivot (max(CODRCA) CODRCA for (rn) in
(1 as "C1",
2 as "C2",
3 as "C3",
4 as "C4",
5 as "C5"))
परिणाम
CODPRO C1_COD C2_COD C3_COD C4_COD C5_COD
------- ------ ------ ------ ------ ------
400JE INDLEG LOGIST
50EFJ10 AGRICU ESPVER INDLEG LOGIST TP
यदि आप अन्य सॉर्टिंग लॉजिक . पसंद करते हैं आवश्यकतानुसार अनुकूलित करें। यदि आपको अलग-अलग कॉलम नामों की आवश्यकता है तो भी अनुकूलित करें।