Question : Left Join tables many to many

Hi Experts,
I have three tables, tbl_people, tbl_PI, and tbl_Interests.  tbl_People has many people, and tbl_Interests has about 10 items, its used as a reference table.  tbl_PI joins the two together.
The fields are:
tbl_Interests.ID, tbl_Interests.Desc
tbl_people.ID, tbl_people.Name
tbl_PI.ID, tbl_PI.peopleID, tbl_PI.interestsID

What I want is to get all the items from tbl_Interests and any items in tbl_PI regardless of whether theres a value or not.  The fields I want are tbl_PI.peopleID, tbl_Interests.ID, tbl_Interests.InterestDesc.  The join looks like this FROM tbl_Interests LEFT JOIN tbl_PI ON tbl_Interests.InterestID = tbl_PI.InterestID.  The results do not include the empty fields.

I DO get the results I want when I make a table, tbl_PI_filtered that contains only one person's records from tbl_PI.  In that case I get all the records from tbl_Interests showing blank fields when there is no match in tbl_PI_filtered.   I don't want to have to run a "make table" query before I execute the main query.

I want to update the resulting recordset so that the people will have a new interest in tbl_PI.  Any ideas on how to create a recordset with all the people and all the interests.  

Here's what I get with using tbl_PI_filtered.  I'd like to get all the people in one list
Interest.ID      Interest.Desc                     tbl_PI.PeopleID
1      Administration      37
2      Title I                           37
3      College/University      37
4      Elementary School      37
5      Jr/Middle School      37
6      High School                           37
7      WTCS      
8      VTAE      
9      Ambassador Program      
10      WMC Board      

Answer : Left Join tables many to many

Give this query a try:
1:
2:
3:
SELECT a.*, (select top 1 PeopleID from tbl_PI where InterestsID = a.ID and PeopleID = b.PeopleID)
FROM tbl_Interests a, (select distinct PeopleID from tbl_PI) b
order by b.PeopleID, a.ID
Random Solutions  
 
programming4us programming4us