Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Rows to Columns
With Oracle 7.3, how does get a SQL statement to change rows into columns ?
Here are some example tables:
create table Person (idPerson, namePerson not null , primary key
idPerson);
create table PhoneUsage (idPhoneUsage,descrPhoneUsage not null, primary
key idPhoneUsage);
/* 1=Personal : 2=Business, 3=Fax, 4=Mobile, ect */
create table Person_Phone( idPerson, Phone_number, idPhoneUsage
, primary key ( idPerson, idPhoneUsage , Phone_number));
The following view gets at syntax error with the nested select:
create view PersonPhones
(idPerson, namePerson, business_Phone, home_Phone,Fax_Phone) as
SELECT P.idPerson, P.namePerson
, (select C.Phone_number
from Person_Phone C
where C.idPerson = P.idPerson and C.idPhoneUsage = 1 )
, (select C.Phone_number
from Person_Phone C
where C.idPerson = P.idPerson and C.idPhoneUsage = 2 )
, (select C.Phone_number
from Person_Phone C
where C.idPerson = P.idPerson and C.idPhoneUsage = 3 )
from Person P;
Anyone have an alternative ? Received on Fri May 02 1997 - 00:00:00 CDT
![]() |
![]() |