SELECT 
RECORDS.ORG_NAME
, Relationship_Type.LONGDESCRIPTION AS Relationship
, Relationship.FIRST_NAME + ' ' + Relationship.LaST_NAME AS [Contact Name]
, Reciprocal_Type.LONGDESCRIPTION AS Reciprocal
FROM 
(((RECORDS INNER JOIN CONSTIT_RELATIONSHIPS ON RECORDS.ID = CONSTIT_RELATIONSHIPS.CONSTIT_ID) 
INNER JOIN RECORDS AS Relationship ON CONSTIT_RELATIONSHIPS.RELATION_ID = Relationship.ID) 
INNER JOIN TABLEENTRIES AS Reciprocal_Type ON CONSTIT_RELATIONSHIPS.RECIP_RELATION_CODE = Reciprocal_Type.TABLEENTRIESID) 
INNER JOIN TABLEENTRIES AS Relationship_Type ON CONSTIT_RELATIONSHIPS.RELATION_CODE = Relationship_Type.TABLEENTRIESID
WHERE 
RECORDS.KEY_INDICATOR = 'O' -- Use 'I' for Individual Constituent records only
ORDER BY 
RECORDS.ORG_NAME
Disclaimer: Blackbaud provides 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. Blackbaud 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.