Hierarchy Join Query Example

A record hierarchy join joins a parent table to a child table. A child table is a table that uses all the same key fields as its parent, plus one or more additional keys. The SQL for this query is:

SELECT A.PRCSNAME, A.PRCSTYPE, B.PRCSGRP
FROM PS_PRCSDEFN A, PS_PRCSDEFNGRP B
WHERE B.PRCSTYPE = A.PRCSTYPE AND B.PRCSNAME = A.PRCSNAME

Soap document:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:qas="http://xmlns.oracle.com/Enterprise/Tools/schemas/
QAS_QUERY_SAVE_REQ_MSG.VERSION_1">
   <soapenv:Header/>
   <soapenv:Body>
      <qas:QAS_QUERY_SAVE_REQ_MSG>
         <!--1 or more repetitions:-->
         <RECORD>
            <RCDNUM>1</RCDNUM>
            <RCDNAME>PRCSDEFN</RCDNAME>
            <CORRNAME>A</CORRNAME>
            <JOINTYPE></JOINTYPE>
            <JOINRCDALIAS></JOINRCDALIAS>
            <JOINFIELD></JOINFIELD>
            <RCDSELECTNUM>1</RCDSELECTNUM>
         </RECORD>
         <RECORD>
            <RCDNUM>2</RCDNUM>
            <RCDNAME>PRCSDEFNGRP</RCDNAME>
            <CORRNAME>B</CORRNAME>
            <JOINTYPE>hierarchy</JOINTYPE>
            <JOINRCDALIAS>A</JOINRCDALIAS>
            <JOINFIELD></JOINFIELD>
            <RCDSELECTNUM>1</RCDSELECTNUM>
         </RECORD>
         <!--1 or more repetitions:-->
         <FIELD>
            <FIELDNUM>1</FIELDNUM>
            <FIELDNAME>PRCSNAME</FIELDNAME>
            <FIELDRCDNUM>1</FIELDRCDNUM>
            <DESCR></DESCR>
            <AGGREGATE_TYPE>None</AGGREGATE_TYPE>
            <HEADING_TYPE>RFT Long</HEADING_TYPE>
            <HEADING></HEADING>
            <COLUMNNUM>1</COLUMNNUM>
            <ORDERBYNUM>0</ORDERBYNUM>
            <ORDERBYDIR></ORDERBYDIR>
            <FIELDSELECTNUM>1</FIELDSELECTNUM>
            <EXPRESSION_AS_FIELD></EXPRESSION_AS_FIELD>
         </FIELD>
         <FIELD>
            <FIELDNUM>2</FIELDNUM>
            <FIELDNAME>PRCSTYPE</FIELDNAME>
            <FIELDRCDNUM>1</FIELDRCDNUM>
            <DESCR></DESCR>
            <AGGREGATE_TYPE>None</AGGREGATE_TYPE>
            <HEADING_TYPE>RFT Long</HEADING_TYPE>
            <HEADING></HEADING>
            <COLUMNNUM>2</COLUMNNUM>
            <ORDERBYNUM>0</ORDERBYNUM>
            <ORDERBYDIR></ORDERBYDIR>
            <FIELDSELECTNUM>1</FIELDSELECTNUM>
            <EXPRESSION_AS_FIELD></EXPRESSION_AS_FIELD>
         </FIELD>
         <FIELD>
            <FIELDNUM>3</FIELDNUM>
            <FIELDNAME>PRCSGRP</FIELDNAME>
            <FIELDRCDNUM>2</FIELDRCDNUM>
            <DESCR></DESCR>
            <AGGREGATE_TYPE>None</AGGREGATE_TYPE>
            <HEADING_TYPE>RFT Short</HEADING_TYPE>
            <HEADING></HEADING>
            <COLUMNNUM>3</COLUMNNUM>
            <ORDERBYNUM>0</ORDERBYNUM>
            <ORDERBYDIR></ORDERBYDIR>
            <FIELDSELECTNUM>1</FIELDSELECTNUM>
            <EXPRESSION_AS_FIELD></EXPRESSION_AS_FIELD>
         </FIELD>
         <!--1 or more repetitions:-->
         <SELECT>
            <SELECTNUM>1</SELECTNUM>
            <PARENTSELECTNUM>0</PARENTSELECTNUM>
            <SELECTTYPE>Main</SELECTTYPE>
            <QRYDISTINCT>False</QRYDISTINCT>
         </SELECT>
         <QUERY_NAME>HierarchyJoin</QUERY_NAME>
         <DESCRIPTION>Hierarchy Join example</DESCRIPTION>
         <DESCRLONG>Thios is a query with a hierarchy join</DESCRLONG>
         <QUERY_OWNER>public</QUERY_OWNER>
      </qas:QAS_QUERY_SAVE_REQ_MSG>
   </soapenv:Body>
</soapenv:Envelope>