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

行が選択されていないと言っていますか?

    これを行うにはいくつかの方法があります:

    次のようなアンチジョインを使用できます:

    SELECT m.MEMBERID,
           m.LASTNAME,
           m.FIRSTNAME
      FROM MEMBERS m
      WHERE m.MEMBERID NOT IN (SELECT DISTINCT MEMBERID
                                 FROM CURRENTLOAN
                               UNION ALL
                               SELECT DISTINCT MEMBERID
                                 FROM HISTORY);
    

    やりたいことをする別の方法(そして私の好みの方法)は次のとおりです:

    SELECT DISTINCT m.MEMBERID,
                    m.LASTNAME,
                    m.FIRSTNAME
      FROM MEMBERS m
      LEFT OUTER JOIN (SELECT DISTINCT MEMBERID
                         FROM (SELECT MEMBERID
                                 FROM CURRENTLOAN
                               UNION ALL
                               SELECT MEMBERID
                                 FROM HISTORY)) u
        ON u.MEMBERID = m.MEMBERID
      WHERE u.MEMBERID IS NULL;
    

    ただし、このクエリと元のクエリに表示したデータを考えると、ゼロ行が返されるはずです。 SQLFiddleはこちら

    メンバー004への現在のローンをコメントアウトすると、「JoeBrown」が返されることに注意してください SQLFiddleここ

    幸運を祈ります。




    1. 参加条件の順序は重要ですか?

    2. 子供のパーティーのデータモデル

    3. pg_trgmのPostgreSQLGINインデックスはGISTより遅いですか?

    4. Dockerにmysqlとapacheのスーパーセットをセットアップし、ブリッジネットワークで接続していますが、SQLAlchemyのURIはどうなりますか?