2011-09-12 5 views
0

다소 복잡한 조인 쿼리가 있습니다.이 결과는 결과에 하나의 고유 한 Table_ID 값이있을 때만 신경을 씁니다. 예를 들어, Table_ID에 대해 여러 값이있는 경우 1과 2라고 말합니다. 0 행이 반환되기를 원할 것입니다.주어진 열에 대해 하나의 값만있는 경우에만 행을 반환합니다.

나는 이것을 WHERE COUNT(DISTINCT Table_ID) = 1을 추가하여 생각하고있었습니다. 이게 가장 좋은 방법인가요? LIMIT을 통해 이렇게하는 것은 제한하려는 의도를 넘어서 다른 테이블에서 반환되는 행 수를 제한하기 때문에 가능하지 않습니다.

PHP/MySQL 사용.

+0

이 질문은 당신이 사용하는 전체 쿼리를 보지 않고 대답 할 수 없습니다. – Jon

답변

1

나는 이것을 한 번 그룹화하여 Table_ID을 그룹화 한 다음 그룹의 항목 수를 계산합니다. 같은 뭔가 :

SELECT *, COUNT(*) AS num FROM `myTable` GROUP BY `Table_ID` HAVING num = 1 

상세 정보 : http://www.java2s.com/Code/SQL/Select-Clause/UseCOUNTGROUPandHAVING.htm

+0

같은 'Table_ID'를 가진 여러 행이있을 때 그룹화하지 않으면 다른 행을 가져 오지 않습니까? – babonk

+0

네,하지만 결과에 단 하나의 고유 한 Table_ID 값이있는 경우에만주의를 기울이십시오. " – Rijk

+0

예, 단 하나의 고유 한 Table_ID가있는 여러 행을 가질 수 있습니다. – babonk

관련 문제