That might work... but I am pulling the data from 6 different tables, in at least two cases using "parent-child" relationships between the tables (in at least one of those cases that relationship extends two levels deep, a sub-table and a sub-sub-table). I have used LEFT JOINS on some tables and in others I just use the WHERE clause.
The short of it is, it's a mess. Here are the 5 SELECTS I use to build the UNION, could they be re-written to accomplish what you suggest as one single SELECT???
strSQL1 = SELECT DISTINCT tblCorp.ID, tblOrganization.OrganizedAuthorized, tblOrganization.StateOorA, "(SELECT FullName FROM tblAddressBook WHERE tblCorp.ID = tblAddressBook.ID) AS EntityName, (SELECT FullName FROM tblAddressBook WHERE tblCorp.ResponsibleAttorney = tblAddressBook.ID) AS RespAtty FROM (tblCorp LEFT JOIN tblOrganization ON tblCorp.ID = tblOrganization.ForeignKey) LEFT JOIN tblOfficers ON (tblCorp.ID = tblOfficers.ForeignKey) WHERE (tblCorp.PrimaryContact = ? OR tblCorp.SecondaryContact = ? OR tblOfficers.Name = ?) AND tblOrganization.OrganizedAuthorized = 'O' UNION SELECT DISTINCT tblCorp.ID, tblOrganization.OrganizedAuthorized, tblOrganization.StateOorA, (SELECT FullName FROM tblAddressBook WHERE tblCorp.ID = tblAddressBook.ID) AS EntityName, (SELECT FullName FROM tblAddressBook WHERE tblCorp.ResponsibleAttorney = tblAddressBook.ID) AS RespAtty FROM ((tblCorp LEFT JOIN tblOrganization ON tblCorp.ID = tblOrganization.ForeignKey) LEFT JOIN tblCapital ON tblCorp.ID = tblCapital.ForeignKey) LEFT JOIN tblCertificates ON tblCapital.ID = tblCertificates.ForeignKey WHERE tblCertificates.SecurityHolder = ? AND tblCertificates.Outstanding = 'Yes') AND
tblOrganization.OrganizedAuthorized = 'O'
strSQL2 = SELECT DISTINCT tblCorp.ID, tblOrganization.StateOorA, tblOrganization.OrganizedAuthorized, (SELECT FullName FROM tblAddressBook WHERE tblCorp.ID = tblAddressBook.ID) AS EntityName, (SELECT FullName FROM tblAddressBook WHERE tblCorp.ResponsibleAttorney = tblAddressBook.ID) AS RespAtty FROM tblCorp, tblOrganization
WHERE tblCorp.ResponsibleAttorney = ?? AND tblOrganization.ForeignKey = tblCorp.ID AND
tblOrganization.OrganizedAuthorized = 'O'
strSQL3 = SELECT DISTINCT tblCorp.ID, tblOrganization.OrganizedAuthorized, tblOrganization.StateOorA, (SELECT FullName FROM tblAddressBook WHERE tblCorp.ID = tblAddressBook.ID) AS EntityName, (SELECT FullName FROM tblAddressBook WHERE tblCorp.ResponsibleAttorney = tblAddressBook.ID) AS RespAtty FROM tblCorp RIGHT JOIN tblOrganization ON (tblCorp.ID = tblOrganization.ForeignKey) WHERE tblOrganization.StateOorA = ???
strSQL4 = SELECT DISTINCT tblCorp.ID, tblOrganization.StateOorA, tblOrganization.OrganizedAuthorized, (SELECT FullName FROM tblAddressBook WHERE tblCorp.ID = tblAddressBook.ID) AS EntityName, (SELECT FullName FROM tblAddressBook WHERE tblCorp.ResponsibleAttorney = tblAddressBook.ID) AS RespAtty FROM tblCorp, tblOrganization
WHERE tblCorp.EntityType = ???? AND tblOrganization.OrganizedAuthorized = 'O' AND tblOrganization.ForeignKey = tblCorp.ID
strSQL5 = SELECT DISTINCT tblCorp.ID, tblOrganization.StateOorA, tblOrganization.OrganizedAuthorized, (SELECT FullName FROM tblAddressBook WHERE tblCorp.ID = tblAddressBook.ID) AS EntityName, (SELECT FullName FROM tblAddressBook WHERE tblCorp.ResponsibleAttorney = tblAddressBook.ID) AS RespAtty FROM tblCorp, tblAccounting, tblOrganization WHERE tblAccounting.AccountingFirm = ????? AND tblAccounting.ForeignKey = tblCorp.ID AND tblOrganization.ForeignKey = tblCorp.ID AND tblOrganization.OrganizedAuthorized = 'O'