Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Pivoting a Table

1061172Dec 19 2013 — edited Dec 20 2013

Hi everyone, i am a new in this community, am trying to decode this statement which is giving me many rows for the same student on the different subjects.

select     "STUDENTDETAILS"."APPLICATIONNUMBER" as "APPLICATIONNUMBER",

     "STUDENTDETAILS"."TITLE" as "TITLE",

     "STUDENTDETAILS"."FIRSTNAME" as "FIRSTNAME",

     "STUDENTDETAILS"."MIDDLENAME" as "MIDDLENAME",

     "STUDENTDETAILS"."LASTNAME" as "LASTNAME",

     "STUDENTDETAILS"."DATEOFBIRTH" as "DATEOFBIRTH",

     "STUDENTDETAILS"."AGE" as "AGE",

     "STUDENTDETAILS"."GENDER" as "GENDER",

     "STUDENTDETAILS"."MARRITAL_STATUS" as "MARRITAL_STATUS",

     "STUDENTDETAILS"."NRC_NUMBER" as "NRC_NUMBER",

     "STUDENTDETAILS"."REGISTERED_BY" as "REGISTERED_BY",

     "SUBJECTS"."SUBJECT" as "SUBJECT",

     "STUDENT_SCORES"."SUBJECT_SCORE" as "SUBJECT_SCORE"

from     "SUBJECTS" "SUBJECTS",

     "STUDENT_SCORES" "STUDENT_SCORES",

     "STUDENTDETAILS" "STUDENTDETAILS"

where   "STUDENTDETAILS"."APPLICATIONNUMBER"="STUDENT_SCORES"."APPLICATIONNUMBER"

and     "STUDENT_SCORES"."SUBJECT_ID"="SUBJECTS"."SUBJECT_ID"

APPLICATIONNUMBERTITLEFIRSTNAMEMIDDLENAMELASTNAMEDATEOFBIRTHAGEGENDERMARRITAL_STATUSNRC_NUMBERREGISTERED_BYSUBJECTSUBJECT_SCORE
201300001MrLawrenceMukombo12/11/198033MaleMarried219879/24/1SYSTEMMATHEMATICS2
201300001MrLawrenceMukombo12/11/198033MaleMarried219879/24/1SYSTEMENGLISH4
201300001MrLawrenceMukombo12/11/198033MaleMarried219879/24/1SYSTEMBIOLOGY3
201300001MrLawrenceMukombo12/11/198033MaleMarried219879/24/1SYSTEMCOMMERCE5
201300001MrLawrenceMukombo12/11/198033MaleMarried219879/24/1SYSTEMZAMBIAN LANGUAGE3
201300001MrLawrenceMukombo12/11/198033MaleMarried219879/24/1SYSTEMART1

I have decoded this far by i don't know how i can join the personal details on this same student. When i use "count" am getting the number of rows and not the data under that heading.

How can i best create and join a pivot?

select    studentdetails.applicationnumber

,count(DECODE(SUBJECT,'MATHEMATICS', 1)) as "MATHEMATICS"

,count(DECODE(SUBJECT,'ENGLISH', 1)) as "ENGLISH"

,count(DECODE(SUBJECT,'BIOLOGY', 1)) as "BIOLOGY"

,count(DECODE(SUBJECT,'SCIENCE', 1)) as "SCIENCE"

,count(DECODE(SUBJECT,'COMMERCE', 1)) as "COMMERCE"

,count(DECODE(SUBJECT,'ZAMBIAN LANGUAGE', 1)) as "ZAMBIAN LANGUAGE"

,count(DECODE(SUBJECT,'ART', 1)) as "ART"

from     "SUBJECTS" "SUBJECTS",

     "STUDENT_SCORES" "STUDENT_SCORES",

     "STUDENTDETAILS" "STUDENTDETAILS"

where   "STUDENTDETAILS"."APPLICATIONNUMBER"="STUDENT_SCORES"."APPLICATIONNUMBER"

and     "STUDENT_SCORES"."SUBJECT_ID"="SUBJECTS"."SUBJECT_ID"

group by studentdetails.applicationnumber

order by studentdetails.applicationnumber

APPLICATIONNUMBERMATHEMATICSENGLISHBIOLOGYSCIENCECOMMERCEZAMBIAN LANGUAGEART
2013000011110111
This post has been answered by 1061172 on Dec 19 2013
Jump to Answer

Comments

Processing
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Jan 17 2014
Added on Dec 19 2013
9 comments
613 views