sql >> Database >  >> RDS >> Mysql

Relatie met velen en krijg zonder dit

In SQL heeft dit type query een zogenaamde EXCEPTION JOIN nodig . Sommige RDBMS'en implementeren dit eigenlijk als een apart type (zoals DB2), terwijl andere een tijdelijke oplossing moeten gebruiken. In jouw geval komt het neer op (in SQL):

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

Welke zal opleveren de verwachte 'not in a house'-records.

Op een aantal plaatsen op deze site staan ​​soortgelijke voorbeelden.

Ik heb Doctrine nog nooit gebruikt, dus daar kan ik je niet mee helpen. Maar mijn beste gok zou zoiets zijn als:

addWhere('uh IS NULL')

of

addWhere('uh.id_user IS NULL')



  1. MySQL Select Statement DISTINCT voor meerdere kolommen

  2. 30 minuten toevoegen aan datetime php/mysql

  3. MySQL - Waarde aftrekken van de vorige rij, groeperen op

  4. Een aangepaste JSON-encoder gebruiken voor de PostgreSQL JSONB-implementatie van SQLAlchemy