Ho una tabella di utenti e un tavolo di cose che hanno in un elenco -Selezionare solo se vuota
per mostrare tutti gli utenti che dispongono di elementi in un elenco posso unire le due tabelle users
e user_lists
su user_id
ad es.
select u.emailaddr, u.name from users u
join user_lists uw where u.user_id=uw.user_id
group by u.name
DOMANDA: Come posso mostrare tutti gli utenti che FARE NON dispone di elementi in un elenco - per dirla in un altro modo, ho bisogno di un elenco di utenti che non hanno voci in user_lists tabella
ho provato questo ma correva all'infinito
select u.emailaddr, u.name from users u
join user_lists uw where u.user_id<>uw.user_id
group by u.name
Impressionante, molte grazie - c'è una preferenza? è una risorsa in meno affamata rispetto alle altre? –
@DarrenSweeney - Dipende dai dati e dall'impostazione degli indici nelle tabelle, ma c'è una piccola cosa da notare; 'JOIN' è più sicuro del predicato' IN' con i valori 'NULL', se c'è qualche' user_id' nell'altra tabella 'user_lists' con valori' NULL', la tua query non restituirà nulla. –
Molte grazie ancora –