2012-06-29 2 views
1
이이 뿐인 1 개 레코드를 반환해야

PHP MySQL은 동일하지 않는 레코드를 결정하기 위해 가입

SELECT * 
    FROM electors,voting_intention 
    WHERE electors.ID != voting_intention.elector 

다음 쿼리가 다른 테이블에서 동일한 해당 선거인의 ID를하지 않는 기록을 찾을 수 있도록 설계되었습니다

... http://sqlfiddle.com/#!3/0a4b1/10하지만, 많은 것을 반환하고 중복과 함께. 분명히 나는 ​​뭔가를 놓치고있다. 뭐?

+0

당신은 선거인 ID를 4에 대한 기록을지고해야 하는가? 또한, 귀하의 바이올린은 현재 SQL Server로 설정되어 있습니다. –

+0

그렇습니다. voting_intention.elector와 같지 않은 유일한 선거권 자 ID입니다. – user1490367

답변

1

'투표 의사 표시'기록이없는 모든 선거인을 찾으려면 다음을 시도하십시오. 나는 그 선거인에게 모든 분야를 원한다고 생각하고 있습니다. 그렇지 않은 경우 원하는 열을 선택해야합니다.

select * from 
electors where id not in 
(select elector from voting_intention) 
+0

선거인의 모든 출현자가 선거인으로 만 선출되기 때문입니다. 예를 들어 4 투표 선이 있으므로 4 선거입니다. 깡깡이. – user1490367

+0

글쎄, 나는 단지 하나의 기록만을 얻고있다. distinct를 사용하여 하나의 행을 얻을 수 있습니다. http://sqlfiddle.com/#!2/ea2ce/1/0를보십시오. –

1
SELECT * 
    FROM voting_intention 
    RIGHT JOIN electors ON electors.ID = voting_intention.elector 
    WHERE voting_intention.elector IS null 
관련 문제