SELECT TABLEENTRIES.DESCRIPTION, EA7RECORDS_1.LASTNAME AS PARENTLAST, EA7RECORDS_1.FIRSTNAME AS PARENTFIRST, 
TABLEENTRIES_1.DESCRIPTION AS Relation, EA7RECORDS.LASTNAME AS STUDENTLAST, EA7RECORDS.FIRSTNAME AS STUDENTFIRST, 
TABLEENTRIES_2.DESCRIPTION AS Reciprocal, ADDRESS.ADDRESSBLOCK, ADDRESS.CITY, ADDRESS.STATE, ADDRESS.POSTCODE, 
ADDRESSLINKPHONES.NUM, TABLEENTRIES.DESCRIPTION

FROM ((((((EA7RELATIONSHIPS INNER JOIN EA7RECORDS ON EA7RELATIONSHIPS.PARENTID = EA7RECORDS.EA7RECORDSID) 
INNER JOIN EA7RECORDS AS EA7RECORDS_1 ON EA7RELATIONSHIPS.RELATIONID = EA7RECORDS_1.EA7RECORDSID) 
INNER JOIN TABLEENTRIES AS TABLEENTRIES_2 ON EA7RELATIONSHIPS.RECIPROCALCODE = TABLEENTRIES_2.TABLEENTRIESID) 
INNER JOIN TABLEENTRIES AS TABLEENTRIES_1 ON EA7RELATIONSHIPS.RELATIONSHIPCODE = TABLEENTRIES_1.TABLEENTRIESID) 
INNER JOIN ((ADDRESSLINKS INNER JOIN ADDRESS ON ADDRESSLINKS.ADDRESSID = ADDRESS.ADDRESSID) 
LEFT JOIN PHONELINKS ON ADDRESS.ADDRESSID = PHONELINKS.ADDRESSLINKSID) ON EA7RECORDS_1.EA7RECORDSID = ADDRESSLINKS.PARENTRECORDID) 
LEFT JOIN ADDRESSLINKPHONES ON PHONELINKS.PHONESID = ADDRESSLINKPHONES.PHONESID) 
LEFT JOIN TABLEENTRIES ON ADDRESSLINKPHONES.PHONETYPE = TABLEENTRIES.TABLEENTRIESID
LEFT OUTER JOIN EA7ADDRESSOPTIONS EA on TABLEENTRIES.TABLEENTRIESID = EA.ADDRESSTYPE
WHERE EA7RELATIONSHIPS.PARENTIDTYPE=1

ORDER BY EA7RECORDS.LASTNAME

Disclaimer: We provide programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes you are familiar with Structured Query Language and the tools used to create and modify SQL statements and Crystal Reports. Our Customer Support may help explain the functionality of a particular procedure, but we will not modify, or assist you with modifying, these examples to provide additional functionality.