我有以下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)
但是,我觉得这事是不对的。
例如:
如果我把three
在RAUMKLASSE_ID
文本字段在浏览器中,然后调用我的方法,它返回只有一个房间。 但也有六间房与ID。 奇怪的是,如果我卸下两个INNER JOIN
和我的第二行SELECT
,就像这样:
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)
它返回的六间房,这是正确的。 我不知道这个问题是我的查询什么。 也许有人可以帮我吗?
提前致谢