Sto cercando di trovare le righe che si trovano in una tabella ma non un'altra, entrambe le tabelle sono in database differenti e hanno anche nomi di colonne differenti sulla colonna che sto usando per abbinare .Seleziona da una tabella dove non in un altro
Ho una query, codice qui sotto, e penso che probabilmente funziona ma è troppo lento:
SELECT `pm`.`id`
FROM `R2R`.`partmaster` `pm`
WHERE NOT EXISTS (
SELECT *
FROM `wpsapi4`.`product_details` `pd`
WHERE `pm`.`id` = `pd`.`part_num`
)
Quindi la query sta cercando di fare come segue:
selezionare tutti i ID dal database R2R.partmaster che non si trovano nel database wpsapi4.product_details. Le colonne che sto cercando sono partmaster.id & product_details.part_num
Per me esiste/non esiste è il modo migliore in quanto espresso chiaramente vuoi che tu voglia ottenere. Ma sembra essere il modo più lento (su MySQL). Controlla questo: http://explainextended.com/2009/09/18/not-in-vs-not-exists-vs-left-join-is-null-mysql/ – DavidEG