이 쿼리가 0보다 큰 값을 반환하는 경우에만 tblProperty.ID를 선택하려고합니다.SQL 하위 쿼리 질문
SELECT
COUNT(tblProperty.ID) AS count
FROM
tblTenant AS tblTenant
INNER JOIN tblRentalUnit
ON tblTenant.UnitID = tblRentalUnit.ID
INNER JOIN tblProperty
ON tblTenant.PropertyID = tblProperty.ID
AND tblRentalUnit.PropertyID = tblProperty.ID
WHERE tblProperty.ID = x
여기서 x는 찾고있는 부모의 tblProperty.ID와 같습니다. 나는 'x'가 무엇인지 모른다.
어떻게해야합니까?
Database Structure:
tblTenant:
ID
PropertyID <--foreign key to tblProperty
UnitID <--foreign key to tblRentalUnit
Other Data
tblProperty:
ID
Other Data
tblRentalUnit:
ID
PropertyID <--foreign key to tblProperty
Other Data
쿼리에 대한 설명 :
쿼리는 테넌트가있는 임대 단위가있는 속성 만 선택합니다.
왜 당신은 그들이 이미 같은 이름을 가진 모든 테이블을 앨리어싱입니까? 요점 외에는 다소 다르지 않습니까? :) – Tomalak
당신이 이런 유형의 질문을 할 때, 당신의 테이블과 관계가 어떻게 설정되어 있는지 알면 좋을 것입니다. 왜냐하면 이걸 보면 당신은 하나 이상의 결과를 얻지 못할 것이라고 말하고 싶기 때문입니다. 그것을 하나의 속성 id (X)로 제한한다. 그래서 ... 왜 단 하나의 결과를 반환 할 때 PropertyID를 포함하지 않을까요? 이 쿼리를 너무 복잡하게 만드는 것처럼 보입니다. – TheTXI
@Tomalak Crystal Reports는 그렇게하지 않았습니다. 나는 방금 그 길을 떠났다. – Malfist