sql >> Databasteknik >  >> RDS >> Mysql

Relation till många och få utan detta

I SQL behöver denna typ av fråga vad som kallas en EXCEPTION JOIN . Vissa RDBMS implementerar faktiskt detta som en separat typ (som DB2), medan andra behöver använda en lösning. I ditt fall uppgår det till (i SQL):

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

Vilket kommer att ge de förväntade "inte i ett hus"-poster.

Det finns liknande exempel på ett antal ställen på den här webbplatsen.

Jag har aldrig använt Doctrine, så jag kan inte hjälpa dig där. Men min bästa gissning skulle vara något i stil med:

addWhere('uh IS NULL')

eller

addWhere('uh.id_user IS NULL')



  1. postgresql - trigger, uppdatera tidsstämpel vid fältuppdatering

  2. Insamlingsmetod:COUNT-funktion i Oracle Database

  3. När utför Rails frågan och laddas in i minnet?

  4. NOT NULL-begränsning över en uppsättning kolumner