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

SQL複数の関係が存在する行のみを選択します

    これは Relational Division

    SELECT  a.name
    FROM    parent a
            INNER JOIN rel b
                ON a.parent_ID = b.parent_ID
    WHERE   b.prop_id IN (1,5)
    GROUP BY a.name
    HAVING COUNT(*) = 2
    

    アップデート1

    一意の制約の場合 prop_idに強制されませんでした すべてのparent_idDISTINCT この場合は必要です。

    SELECT  a.name
    FROM    parent a
            INNER JOIN rel b
                ON a.parent_ID = b.parent_ID
    WHERE   b.prop_id IN (1,5)
    GROUP BY a.name
    HAVING COUNT(DISTINCT b.prop_id) = 2
    


    1. mysqlデータベースへのExcelデータのインポート

    2. (英語)Oracle Database 19c Pre-BuiltDeveloperVMの使用方法

    3. MySQLのこの演算子<=>は何ですか?

    4. PostgreSQLデータベースを別のサーバーにコピーしています