Nieoczekiwane wyjście bazy danych podczas używania INNER JOIN

Mam następujące zapytanie SQL

SELECT 
       r.BEZEICHNUNG AS BEZEICHNUNG, r.ID AS ID,
       ra.BEZEICHNUNG AS raumBEZEICHNUNG, ra.ID AS raumID
FROM 
       RAUM r
       INNER JOIN RAZUORDNUNG rz ON rz.RAUM_ID = r.ID
       INNER JOIN RAUMATTRIBUTE ra ON rz.RAUMATTRIBUTE_ID = ra.ID 

WHERE
       RAUMKLASSE_ID = ISNULL(@Raumklasse_ID, RAUMKLASSE_ID) 
AND    STADT_ID = ISNULL(@Stadt_ID, STADT_ID) 
AND    GEBAEUDE_ID = ISNULL(@Gebaeude_ID, GEBAEUDE_ID) 
AND    REGION_ID = ISNULL(@Region_ID, REGION_ID)
AND    RAUMATTRIBUTE_ID = ISNULL(@Raumattribute_ID, RAUMATTRIBUTE_ID)     

Ale myślę, że coś z tym jest nie tak.

Na przykład:

Jeśli to zrobięthree wRAUMKLASSE_ID textfield w przeglądarce i wywołuje moją metodę zwraca tylko jeden pokój. Ale jest sześć pokoi o takim identyfikatorze. Dziwną rzeczą jest to, że jeśli usunę te dwieINNER JOIN i druga linia mojejSELECT, lubię to:

SELECT 
       r.BEZEICHNUNG AS BEZEICHNUNG, r.ID AS ID
FROM 
       RAUM r
WHERE
       RAUMKLASSE_ID = ISNULL(@Raumklasse_ID, RAUMKLASSE_ID) 
AND    STADT_ID = ISNULL(@Stadt_ID, STADT_ID) 
AND    GEBAEUDE_ID = ISNULL(@Gebaeude_ID, GEBAEUDE_ID) 
AND    REGION_ID = ISNULL(@Region_ID, REGION_ID)
AND    RAUMATTRIBUTE_ID = ISNULL(@Raumattribute_ID, RAUMATTRIBUTE_ID)

zwraca sześć pokoi, co jest poprawne. Nie wiem, jaki jest problem z moim zapytaniem. Może ktoś może mi w tym pomóc?

Z góry dziękuję

questionAnswers(2)

yourAnswerToTheQuestion