두 테이블을 조인하는 MySQL 쿼리가 있습니다.
- 유권자
- 가구
그들은에 가입 voters.household_id
하고 household.id
.
이제 내가 뭘해야 유권자 테이블이 함께 제거라는 세 번째 테이블에 조인되는 경우를 수정하는 것입니다 voter.id
및 elimination.voter_id
. 그러나 문제는 제거 테이블에 해당 레코드가있는 유권자 테이블의 모든 레코드를 제외하고 싶다는 것입니다.
이 작업을 수행하는 쿼리를 어떻게 작성합니까?
이것은 내 현재 쿼리입니다.
SELECT `voter`.`ID`, `voter`.`Last_Name`, `voter`.`First_Name`,
`voter`.`Middle_Name`, `voter`.`Age`, `voter`.`Sex`,
`voter`.`Party`, `voter`.`Demo`, `voter`.`PV`,
`household`.`Address`, `household`.`City`, `household`.`Zip`
FROM (`voter`)
JOIN `household` ON `voter`.`House_ID`=`household`.`id`
WHERE `CT` = '5'
AND `Precnum` = 'CTY3'
AND `Last_Name` LIKE '%Cumbee%'
AND `First_Name` LIKE '%John%'
ORDER BY `Last_Name` ASC
LIMIT 30
SELECT V.* FROM voter V LEFT JOIN elimination E ON V.id = E.voter_id OR E.voter_id IS NULL
예 : U가 왼쪽에서 모든 행에 대해 오른쪽 테이블에 모든 레코드를 저장하지 않으려는 경우.