Tengo lo que parece ser un problema simple, pero no puedo encontrar la solución adecuada a través de SQL. Estoy usando postgresql específicamente.Pregunta SQL donde TODOS los registros en una unión coinciden con una condición?
tome las siguientes:
SELECT * FROM users INNER JOIN tags ON (tags.user_id = users.id) WHERE tags.name IN ('word1', 'word2')
Esto no hace lo que necesito. Quiero encontrar usuarios cuyas etiquetas SÓLO están incluidas en la lista. Si el usuario tiene una etiqueta que no está en la lista, el usuario no debe ser incluido.
etiquetas 'usuario1': word1, palabra2, word3
etiquetas '' usuario2: word1
etiquetas '' user3: palabra1, palabra2
Dado: palabra1 y palabra2. Quiero preparar una consulta que devuelva 'user2' y 'user3'. 'user1' está excluido porque tiene una etiqueta que no está en la lista.
Espero haber dejado esto en claro. ¡Gracias por tu ayuda!
posible duplicado de [? SQL, cómo hacer coincidir TODO] (http://stackoverflow.com/questions/4763143/sql-how-to-match -all) –
¿No acabas de preguntar esto –
¿Deberían devolverse los usuarios que no tienen ninguna etiqueta? – Quassnoi