Così, ho pensato che fosse abbastanza bravo a MySQL fino a quando mi sono imbattuto in questa idea:agli utenti di selezionare che hanno downvoted ma mai upvoted
ho una registrazione tabella "utili" (giustamente chiamato votes
) con questi campi:
id
: ID univoco del voto.user
: User ID univoco della persona che ha votatoitem
: ID di elemento che stanno votandovote
: Il voto che il cast set ('up', 'down')
Ora, sto cercando di trovare un modo SQL per trovare utenti i cui voti sono solo negativi. Conosco un modo per scriverlo in modo procedurale in php dopo aver interrogato la maggior parte dei dati fuori dalla tabella ma sembra davvero, davvero inefficiente farlo in quel modo quando solo alcune query potrebbero scoprirlo.
Idealmente voglio che il mio risultato sia solo un elenco di utenti che hanno 0 upvotes (come nel tavolo significa che hanno votato, quindi hanno solo downvote) e forse il numero di downvote che hanno lanciato.
Qualche idea su come dovrei affrontare questo?
possibile duplicato di [almeno uno X, ma non Ys Query] (http://stackoverflow.com/questions/9626965/atleast-one-x-but-no- ys-query) –
Oh wow, è molto simile, bello! – Tim
Ho lasciato un commento sull'altra domanda (che penso abbia una buona risposta ed era un po 'prima) che ha bisogno di un titolo migliore, più SEO-friendly. Non so cosa sarebbe, di per sé, ma non penso * [Almeno una X ma nessuna query Ys] (http://stackoverflow.com/questions/9626965/at-least-one-x -but-no-ys-query) * funziona abbastanza bene per descrivere cosa significa. –