Combining 3 select queries
As far as I know you don't need foreign keys to make joins.

Also, you don't even need to use the "inner/outer join" syntax to make joins!

So, following your schema:

pUserMatch  |  pGroupMatch  |  ProfileData
----------- |  -----------  |  ----------
* username 
* GroupID .... GroupID
               ProfileID ....  ID 
                               ParentUser


The query would be:

select u.username, u.GroupID, g.ProfileID, p.ParentUser
from pUserMatch u, pGroupMatch g, ProfileData p
where u.GroupID = g.GroupID
  and g.ProfileID = p.ID
  and usermatch.username = &lt;"username"&gt;


Anyway the "join" syntax would be the following:

select u.username, u.GroupID, g.ProfileID, p.ParentUser
from pUserMatch u
  inner join pGroupMatch g
    on u.GroupID = g.GroupID
  inner join ProfileData p
    on g.ProfileID = p.ID
 where usermatch.username = &lt;"username"&gt;


Use "left outer join" instead of "inner join" if you want to see all the records of the first table (i.e. pUserMatch) even if there's no the linked record on the other one (i.e. pGroupMatch).