2013-02-27 2 views
1

I MySQL을이 표를 enter image description here 1. 그것의 개수를 선택할 수있다 일 때문에 단지 ENTITY_ID = 6 경기 field_tags_tid = 2 field_tags_tid = 7이 문제는 종종라고MYSQL 선택 카운트 관계형 분할

+0

이 그림은 실제로 field_tags_tid = 7 또는 field_tags_tid = 2 'field_data_field_tags SELECT * FROM'의 결과이다 (참고 field_tags_tid 다른 숫자를 포함뿐만 아니라 2, 7) –

+0

내가 도움이 될 모든 명령을 인식하지 오전 나는 이것을한다 .... –

답변

4

Relational Division

SELECT entity_ID 
FROM tableName 
WHERE field_tags_ID IN (2,7) 
GROUP BY entity_ID 
HAVING COUNT(*) = 2 

고유성가 적용되지 않은 경우 entity_ID에 대해 field_tags_ID을 입력하면 DISTINCT 키워드가 필요합니다. 인 달리, UPDATE

SELECT entity_ID 
FROM tableName 
WHERE field_tags_ID IN (2,7) 
GROUP BY entity_ID 
HAVING COUNT(DISTINCT field_tags_ID) = 2 

,두고 1

SELECT COUNT(*) totalCOunt 
FROM 
(
    SELECT entity_ID 
    FROM tableName 
    WHERE field_tags_tid IN (2,7) 
    GROUP BY entity_ID 
    HAVING COUNT(DISTINCT field_tags_tid) = 2 
) s 
+0

나는이 상황에서 결과는 1이어야한다. entity_id = 6은 field_tags_id에 2와 7이 모두 일치하기 때문에 –

+0

이 원하는 것이다. http://www.sqlfiddle.com/#!2/b42da/8 –

+0

예! 그렇다면이 질문을 다른 사람들이 찾는 데 어떻게 도움이 될까요? –