SELECT Class4.item; > FROM Class4; > INNER JOIN C3_C4 ON Class4.C4id = C3_C4.C4id; > INNER JOIN Class3 ON Class3.C3id = C3_C4.C3id; > INNER JOIN Class2 ON Class2.C2id = Class3.C2id; > INNER JOIN C1_C2 ON Class2.C2id = C1_C2.C2id; > INNER JOIN Class1 ON Class1.C1id = C1_C2.C1id; > WHERE Class3.C3id = 1; > AND Class2.C2id = 2; > AND Class1.C1id =3With many-to-many tables this still might not return what you want. Better build and test starting with just one connection, increment connection as you are satisfied with the current one. Like :