Ho quello che sembra essere un problema semplice, ma non riesco a capire la soluzione corretta tramite SQL. Sto usando postgresql in particolare.Query SQL in cui TUTTI i record di un join corrispondono a una condizione?
adottare le seguenti:
SELECT * FROM users INNER JOIN tags ON (tags.user_id = users.id) WHERE tags.name IN ('word1', 'word2')
Questo non fa quello che mi serve. Voglio trovare utenti i cui tag sono inclusi SOLO nell'elenco. Se l'utente ha un tag che non è nella lista, l'utente non dovrebbe essere incluso.
tag 'user1': word1, parola2, parola3
tag 'user2': word1
tag 'user3': word1, parola2
Data: parola1 e parola2. Voglio preparare una query che restituisce "utente2" e "utente3". 'utente1' è escluso perché ha un tag che non è nella lista.
Spero di averlo chiarito. Grazie per l'aiuto!
possibile duplicato di [? SQL, come abbinare ALL] (http://stackoverflow.com/questions/4763143/sql-how-to-match -all) –
Non hai appena chiesto questo –
Gli utenti che non hanno alcun tag devono essere restituiti? – Quassnoi