Mysql
 sql >> Database >  >> RDS >> Mysql

Clausola MySQL 'WHERE' che esclude i risultati nella sottoquery

AND NOT EXISTS (select ...) viene utilizzato per assicurarsi che la sottoquery non restituisca alcuna riga. Di solito ha senso solo se la sottoquery è correlata (cioè, se fa riferimento a valori della query esterna), poiché altrimenti sarà vera per ogni riga di risultato (e non influirà effettivamente sulla query), oppure sarà falsa per ogni riga di risultati (e farà sì che la query non restituisca alcun risultato, come nel tuo caso). penso quello che vuoi è:

    AND members.member_ID NOT IN (select shares.member_ID from shares where shares.asset_ID = '224')