Hallo,
spontan würde ich prüfen, ob nicht ein LEFT OUTER JOIN an Stelle eines INNER JOIN eingesetzt werden kann:
SQL-Code:
...
ON Room.RoomID = Device.RoomID) LEFT OUTER JOIN Device_User
ON Device.DeviceID = Device_User.DeviceID
WHERE DeviceType.DeviceType = 'DeviceType'
AND Device_User.UserID = :UserID
AND Device_User.Access = True;
Bei gültiger UserId sollte eine korrekte Selektion stattfinden, bei einer ungültigen sollten alle Werte für Device_User fehlen.
Freundliche Grüße