SQL - Too Many Records/Rows Returned from subquery
Hello, I have 3 tables that I was checking the data in them matched through and my query was returning too many rows and I could not see what was wrong with my query.
T1_ID T2_ID T3_ID T1_Name T2_Name T3_Name T2_Books T3_Books1 1 1 Justin Justin Justin Book1 Book12 2 2 Richard Richard Richard Book1 Book12 2 2 Richard Richard Richard Book1 Book102 2 2 Richard Richard Richard Book1 Book232 2 2 Richard Richard Richard Book10 Book12 2 2 Richard Richard Richard Book10 Book102 2 2 Richard Richard Richard Book10 Book232 2 2 Richard Richard Richard Book23 Book12 2 2 Richard Richard Richard Book23 Book102 2 2 Richard Richard Richard Book23 Book23
T1_ID T2_ID T3_ID T1_Name T2_Name T3_Name T2_Books T3_Books1 1 1 Justin Justin Justin Book1 Book12 2 2 Richard Richard Richard Book1 Book12 2 2 Richard Richard Richard Book10 Book102 2 2 Richard Richard Richard Book23 Book232 2 2 Richard Richard Richard NULL Book33
SELECT Test.T1_ID,Test.T2_ID,Test.T3_ID, Test.T1_Name,Test.T2_Name,Test.T3_Name, Test.T2_Books,Test.T3_Books FROM ( SELECT T1.ID AS T1_ID,T2.ID AS T2_ID,T3.ID AS T3_ID, T1.Name AS T1_Name,T2.Name AS T2_Name,T3.Name AS T3_Name, T2.Books AS T2_Books,T3.Books AS T3_Books FROM [TestDBJustin].[dbo].[Temp1] AS T1 LEFT JOIN [TestDBJustin].[dbo].[Temp2] AS T2 ON T1.ID = T2.ID LEFT JOIN [TestDBJustin].[dbo].[Temp3] AS T3 ON T1.ID = T3.ID ) AS Test
I think I have confused things by using 'ID' as a column header. ID = UserID therefore 'book33' has an ID of '2' because it is one of richards books. So Table1 is like a user table, table 2 is a record of there books as is table 3. But I am wanting to check that table 2 & 3 match, so giving one row for each book that matches per user and I would have one result that does not match to table2 i.e. book33.
Thanks sen5an, Pawan and snarf0001 for your responses I will try your suggestions and see what result I get. I think it is something to do with how I have joined the tables but just was not certain.