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)
다음 SQL 쿼리를해야하지만 뭔가가 잘못이라고 생각합니다. 예를 들어
는 :
나는 브라우저에서 RAUMKLASSE_ID
텍스트 필드에 three
을 넣어 그것은 단지 하나의 방을 돌려 내 메소드를 호출합니다. 그러나 ID가있는 방이 6 개 있습니다. 이 올바른지 여섯 개 개의 객실을 반환
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)
: 이상한 것은이 같은 두 INNER JOIN
내 SELECT
의 두 번째 줄을 제거하면 있다는 것입니다. 내 질문에 어떤 문제가 있는지 알 수 없습니다. 누군가가 저를 도울 수 있습니까? 사전
에만 6 개의 객실 중 하나가 다른 두 테이블에 데이터를 관련이 있기 때문에? –
두 개의 'JOIN'을 'LEFT JOIN'으로 설정하면 어떻게됩니까? –
INNER JOIN과 같은 동작 – Paks