select name,id,
max(case when groupa = 'A' then groupa end) as group1,
max(case when groupa = 'B' then groupa end) as group2,
max( case when groupa = 'C' then groupa end) as group3
from tablename
group by name, id
अगर ग्रुपा की संख्या तय हो जाती है तो ऊपर दी गई क्वेरी काम करेगी।
संपादित करें:पिवट का उपयोग करना
select * from
(select name, id , groupa from tablename)
pivot xml (
max(groupa) for groupa in
(select distinct groupa from tablename)
)
समाधान के लिए धन्यवाद। मैं लगभग वहाँ हूँ। इस क्वेरी को चलाने के बाद मुझे यही मिलता है। वास्तव में 53 अलग-अलग समूह हैं इसलिए यह 53 कॉलम जोड़ रहा है लेकिन एक उपयोगकर्ता को सौंपे गए समूहों की अधिकतम संख्या 5 है।
NAME ID A B C D E F G H
James 20 A null null null null null null H
Michael 30 A B null null E null null null
मैं इस तरह के परिणाम कैसे प्राप्त करूं...
NAME ID GROUP_1 GROUP_2 GROUP_3
James 20 A H
Michael 30 A B E
जैसा कि मैंने प्रश्न में उल्लेख किया है, मैं अपना परिणाम कैसे प्राप्त करूं?धन्यवाद,