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

特定の値に等しい子レコードを持ち、特定の親の子レコードの合計セットが特定の値に等しい親レコードを返します

    あなたがそれを求めたときの質問は次のとおりです:

    SELECT  parent.item1, parent.item2, parent.index
    FROM    parent
    INNER JOIN
            child
    ON      child.index = parent.index
    GROUP BY
            parent.item1, parent.item2, parent.index
    HAVING  SUM(CASE WHEN child.value IN (1111111, 2222222) THEN 1 ELSE 0 END) = 2
            AND COUNT(*) <= 2
    

    子がINのすべての値と一致することを確認したいだけの場合 リストにあり、リストにない場合は、これを使用します(SQL Server

    SELECT  *
    FROM    parent p
    WHERE   NOT EXISTS
            (
            SELECT  NULL
            FROM    (
                    SELECT  value
                    FROM    child c
                    WHERE   c.index = p.index
                    ) c
            FULL JOIN
                    (
                    SELECT  11111111 AS value
                    UNION ALL
                    SELECT  22222222
                    ) q
            ON      c.value = q.value
            WHERE   c.value IS NULL OR q.value IS NULL
            )
    



    1. Simple Encrypted Arithmetic Library(SEAL)とseal::Ciphertext変数

    2. どのMySQLフォーク/バージョンを選択しますか?

    3. sqlalchemyを使用してDocker内でpostgresqlにアクセスするにはどうすればよいですか?

    4. MySQLデータベース最適化のベストプラクティス