आप विवरण के साथ कुछ नहीं कर रहे हैं, जो टैग के साथ भी बदलता रहता है। इसे समेकित नहीं किया गया है, इसलिए यह निहित 'समूह द्वारा' में है, इसलिए आपको परिणाम सेट में अलग-अलग पंक्तियां मिलती हैं।
आप या तो इसे किसी अन्य (डमी) समुच्चय के साथ कैप्चर कर सकते हैं:
select * from (
select * from TEST2 where tag in ('LN', 'SN')
)
PIVOT
(
max(value) as value, max(description) as description
for tag in ('LN' as ln, 'SN' as sn)
)
order by category, subcat, item, "Date";
Date SUBCAT CATEGOR IT LN_VALUE LN_DESCRIPTION SN_VALUE SN_DESCRIPTION
--------- ------ ------- -- ----------------- --------------- ----------------- ---------------
24-OCT-13 290223 1219576 25 1105618 Lot Number 3x12mm Serial Number
24-OCT-13 290223 1219576 28 1303757 Lot Number
18-JUN-15 354506 1219576 4 1403114 Lot Number
18-JUN-15 354506 1219576 9 7777777777 Lot Number 9.999999999999E12 Serial Number
या अधिक संभावना है कि यदि आप इसे नहीं चाहते हैं तो मध्यवर्ती परिणाम सेट से इसे बाहर कर दें, *
का उपयोग करने के बजाय इच्छित कॉलम निर्दिष्ट करें :
select * from (
select category, subcat, item, "Date", tag, value
from TEST2 where tag in ('LN', 'SN')
)
PIVOT
(
max(value) for tag in ('LN' as ln, 'SN' as sn)
)
order by category, subcat, item, "Date";
CATEGOR SUBCAT IT Date LN SN
------- ------ -- --------- ----------------- -----------------
1219576 290223 25 24-OCT-13 1105618 3x12mm
1219576 290223 28 24-OCT-13 1303757
1219576 354506 4 18-JUN-15 1403114
1219576 354506 9 18-JUN-15 7777777777 9.999999999999E12