2010-05-21 10 views
2

나는 총 데이터베이스 초보자이며, 아마도 잘못된 용어를 사용하여 답변을 검색하고있을 것입니다.MySQL : 모델의 두 필드가 항상 같은지 확인 하시겠습니까?

+------------+---------------+------+-----+---------+-------+ 
| Field  | Type   | Null | Key | Default | Extra | 
+------------+---------------+------+-----+---------+-------+ 
| placeid | int(11)  | NO | PRI | NULL |  | 
| grid  | varchar(120) | YES |  | NULL |  | 
| vill  | varchar(300) | YES |  | NULL |  | 
+------------+---------------+------+-----+---------+-------+ 

내가 알아 싶습니다 '그리드'인지 'VILL'항상 같은 조합 여부에 발생합니다

나는 다음과 같이 MySQL의 테이블이 있습니다. 'WA8이'보다 더와 함께 발생하기 때문에,

placeid, grid, vill 
1,  TM1, Suffolk 
2,  TM1, Suffolk 
3,  WA8, Newcastle 
4,  WA8, Newcastle 
5,  WA8, York 

내가 'WA8'가 아니라 'TM1'를 반환하는 쿼리를 구성하고 싶습니다 :

어쩌면 예와 선명한 것 하나의 빌.

답변

2

당신은 이런 식으로 작업을 수행 할 수 있습니다

SELECT grid 
FROM MyTable 
GROUP BY grid 
HAVING COUNT(DISTINCT vill) > 1 

그것은 하나 이상의 별개의 VILL가있는 그리드를 선택합니다.

+0

테이블에 10, 20 개의 필드가 있고 각각에 중복 값이있을 수 있다면 어떻게 될까요? 현실적인 시나리오는 아니지만 이론적으로는 그렇습니까? –

+0

COUNT (DISTINCT vill1, vill2, vill3 ...)> 1을 의미합니까? – Paul

+0

굉장 - 고마워요! – AP257

관련 문제