0
Ich kam in dieser SQL-Herausforderung von Hackerrank.com Probe Input:wie eine einzige Tabelle als mehrere Tabellen in SQL behandeln
select * from occupation
Beispielausgabe:
Name Occupation
samantha doctor
jenny doctor
julia actor
maria actor
jane actor
meera singer
priya singer
ashley professor
ketty professor
christeen professor
ausgegeben werden soll :(Arzt, Professor, Sänger, Schauspieler bestellen auch nach Namen)
jenny ashley meera jane
samantha christeen priya julia
null ketty null maria
Was ich versucht habe ist:
SELECT DECODE(occupation,'doctor',name,NULL ),DECODE(occupation,'professor',name,NULL),DECODE(occupation,'singer',name,NULL) ,
DECODE(occupation , 'actor',name,NULL)
FROM occupation ;
Aber es doesnot gibt mir gewünscht result.Also Ich habe dies versucht:
SELECT oc1.name ,
oc2.name,oc3.name,oc4.name
FROM
(SELECT name,occupation FROM occupation WHERE occupation = 'doctor'
) oc1 ,
(SELECT name,occupation FROM occupation WHERE occupation = 'actor'
) oc2 ,
(SELECT name,occupation FROM occupation WHERE occupation = 'singer') oc3,
(SELECT name,occupation FROM occupation WHERE occupation = 'professor')oc4 , occupation oc
WHERE
oc1.occupation= oc.occupation(+)
and oc2.occupation = oc.occupation(+)
AND oc3.occupation = oc.occupation(+)
AND oc4.occupation = oc.occupation(+);
Aber es gibt doppelten Datensätze. Kann mir jemand bitte
Dank helfen