ho una query MySQL che unisce due tabelleMySQL join in cui non esiste
- Votanti
Famiglie si uniscono su voters.household_id e household.id
Ora che cosa devo fare è modificarlo dove il tavolo degli elettori è unito ad un terzo tavolo chiamato eliminazione, lungo voter.id ed elimination.voter_id, come mai il problema è che voglio escludere qualsiasi record nella tabella degli elettori che ha un record corrispondente nell'eliminazione tavolo. come faccio a creare una query per fare questo?
questo è il mio query corrente
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
+1 restituisce più velocemente delle query secondarie – ravi404
+1 molto più veloce su alto carico, quindi sottocommissioni + se U può fare JOINs anziché subquery - basta fare JOINs sono molto più semplici per analizzatore. Un altro esempio utile, U potrebbe voler ottenere risultato se ci sono alcune righe in una tabella di destra o se non ce ne sono nessuno: 'SELEZIONA V. * DALL'elettore V ELIMINAZIONE SINISTRA UNISCIATA E ON V.id = E.voter_id O E .voter_id IS NULL' ex .: se U non vuole memorizzare tutti i record nella tabella di destra per ogni riga da sinistra. –