Title: RE: SQL Query

I hope this is not to late for you.  Anyway, this questions comes up often.  Below is the solution to pivot rows for up to 12 values of field1.  Just adjust to fit your range of values.

HTH
Tony Aponte
Home Shopping Network, Inc.

create table tab1 (field1 number,field2 varchar2(30));
insert into tab1 values( 1,'RAM');
insert into tab1 values( 1,'SHAM');
insert into tab1 values( 1,'PAT');
insert into tab1 values( 2,'MAN');
insert into tab1 values( 2,'JOHN');
commit;

SELECT
g1
,MAX(DECODE(line_no,01,value,NULL)) ||
MAX(DECODE(line_no,02,value,NULL)) ||
MAX(DECODE(line_no,03,value,NULL)) ||
MAX(DECODE(line_no,04,value,NULL)) ||
MAX(DECODE(line_no,05,value,NULL)) ||
MAX(DECODE(line_no,06,value,NULL)) ||
MAX(DECODE(line_no,07,value,NULL)) ||
MAX(DECODE(line_no,08,value,NULL)) ||
MAX(DECODE(line_no,09,value,NULL)) ||
MAX(DECODE(line_no,10,value,NULL)) ||
MAX(DECODE(line_no,11,value,NULL)) ||
MAX(DECODE(line_no,12,value,NULL))
FROM (SELECT g1,value,row_number() over(partition by g1 order by g1 nulls last) line_no
FROM (SELECT field1 g1,field2 value from tab1)
)
GROUP BY g1;


G1      MAX(DECODE(LINE_NO,01,VALUE,NU
1       RAMSHAMPAT
2       MANJOHN

-----Original Message-----
From: Ramasubramanian, Shankar (Cognizant)
[mailto:[EMAIL PROTECTED]]
Sent: Thursday, July 18, 2002 4:35 PM
To: Multiple recipients of list ORACLE-L
Subject: SQL Query


Hi Friends,
        I just need a help in a sql . I am having rows in a table as follows

Field1(ID)    Field2(NAME)
--------------------------
1                 RAM
1                 SHAM
1                 PAT
2                 MAN
2                 JOHN

Now i want the output to be as follows

FIELD1  FIELD2
------------------
1               RAMSHAMPAT
2               MANJOHN

In the output i have to show all the names for the same id in a single row.
Please help me in getting this output using a SQL query  and not through
cursors.

Thanks in advance.

Regards,
Shankar

Reply via email to