sql >> Base de Datos >  >> RDS >> Mysql

Relación con muchos y obtener sin esto

En SQL, este tipo de consulta necesita lo que se conoce como EXCEPTION JOIN . Algunos RDBMS en realidad implementan esto como un tipo separado (como DB2), mientras que otros necesitan usar una solución alternativa. En su caso, equivale a (en SQL):

SELECT User.* 
FROM User
LEFT JOIN UserHouse
ON UserHouse.id_user = User.id
WHERE UserHouse.id_user IS NULL

Que producirá los registros esperados de 'no en una casa'.

Hay ejemplos similares en varios lugares de este sitio.

Nunca he usado Doctrine, así que no puedo ayudarte en eso. Pero mi mejor suposición sería algo como:

addWhere('uh IS NULL')

o

addWhere('uh.id_user IS NULL')