That is possible - see this example - I have two tables, one with three rows, the other with two. When I do an inner join, I get six rows back. For each row in the left table, one row for each match in the right table is returned in the result set.Perhaps you need to join on more columns?CREATE TABLE #A(n INT);CREATE TABLE #B(m INT);INSERT INTO #A VALUES (1),(1),(1);INSERT INTO #B VALUES (1),(1);SELECT * FROM #A INNER JOIN #B ON #A.n = #B.m;DROP TABLE #A, #B;