you need records (Source of data)
it doesn't matter you are using table or view or data is coming from sp or simple sql query or xml etc...
the thing is after all process you should have data in table format[ set of column(s) & row(s)] to assign it in crystal report.
suppose you have columns like this,
subjId, SubjNm, SubSubjId, SubSubjNm
In crystal report, grouping option is available.
simply, add group for SubjId and another group inside it SubSubjId
and dragdrop SubjNm & SubSubjNm fields in report respectively inside group(s) or detail part.