sql >> データベース >  >> RDS >> Mysql

多くの人との関係とこれなしで取得

    SQLでは、このタイプのクエリにはEXCEPTION JOINと呼ばれるものが必要です。 。一部のRDBMSは、実際にはこれを別個のタイプ(DB2など)として実装しますが、他のRDBMSは回避策を使用する必要があります。あなたの場合、それは(SQLでは)次のようになります:

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

    どのが生成されます 予想される「家にいない」記録。

    このサイトの多くの場所に同様の例があります。

    私はDoctrineを使ったことがないので、そこであなたを助けることはできません。しかし、私の最善の推測は次のようなものです:

    addWhere('uh IS NULL')
    

    または

    addWhere('uh.id_user IS NULL')
    



    1. 複数のテーブルへのデータの挿入PHPMySQL

    2. ALL演算子VS空のクエリのAny

    3. OracleデータベースがUPDATEクエリで無限にハングしている

    4. PostgreSQLでテーブルのピボットを解除する方法