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

リスト/セットが正確に別のリスト内にあるかどうかを確認する方法

    引き続きhavingを使用できます 、ただし、各製品についてテストします。他の製品がないかどうかをテストします。

    SELECT o.order_id
    FROM orders o
    GROUP BY o.order_id
    HAVING SUM( product_id = 222 ) > 0 AND
           SUM( product_id = 555 ) > 0 AND
           SUM( product_id NOT IN (222, 555) ) = 0 ;
    

    これはMySQLの省略形を使用していることに注意してください。ここでは、ブール式は1の数値として扱われます。 trueおよび0の場合 偽の場合。標準の構文は次のとおりです。

    HAVING SUM( CASE WHEN product_id = 222 THEN 1 ELSE 0 END) > 0 AND
           SUM( CASE WHEN product_id = 555 THEN 1 ELSE 0 END ) > 0 AND
           SUM( CASE WHEN product_id NOT IN (222, 555) THEN 1 ELSE 0 END ) = 0 ;
    



    1. 日付を含む一時テーブルを作成します

    2. 元キャップジェミニエグゼクティブのSunithaRayがScaleGridDBaaSに参加し、エンタープライズセールスを拡大

    3. org.hibernate.InstantiationException:エンティティのデフォルトコンストラクタがありません::principal.Cliente

    4. Azure SQLデータベース管理のヒントとヒントの試験(DP-300)