आपको ऐसा आउटपुट सिर्फ इसलिए मिल रहा है क्योंकि आप select
. जारी कर रहे हैं टेबल के सामने स्टेटमेंट (आपका tbl
तालिका) जिसमें संभावित रूप से एक कॉलम (उदाहरण के लिए प्राथमिक कुंजी कॉलम) होता है जो विशिष्ट रूप से एक पंक्ति और pivot
की पहचान करता है ऑपरेटर उस कॉलम के मूल्यों को ध्यान में रखता है। यहाँ एक सरल उदाहरण है:
/*assume it's your table tbl */
with tbl(unique_col, col1, col2) as(
select 1, 'a', 'a1' from dual union all
select 2, 'b', 'b1' from dual union all
select 3, 'c', 'c1' from dual
)
ऐसी तालिका के विरुद्ध एक प्रश्न आपको वह आउटपुट (अवांछनीय आउटपुट) देगा जो आपने प्रश्न में दिया था:
select A,B
from tbl
pivot(
max(col2) for col1 in ('a' as A,'b' as B)
)
परिणाम:
A B
-- --
a1 null
null b1
वांछित आउटपुट उत्पन्न करने के लिए, आपको एक पंक्ति के लिए अद्वितीय मान वाले कॉलम को बाहर करना होगा:
select A
, B
from (select col1
, col2 /*selecting only those columns we are interested in*/
from tbl )
pivot(
max(col2) for col1 in ('a' as A,'b' as B)
)
परिणाम:
A B
-- --
a1 b1