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

行数をチェックするためにMYSQLに複数が存在しません

    select
        o.*,
        SUM(if(ol.status = "Approved" and (ol.end_date > now() or end_date is null), 1, 0)) as cond1,
        SUM(if(ol.status = "Pending" and (ol.end_date != now() or end_date is null), 1, 0)) as cond2
    from
        outreach o
    left join 
        outreach_links ol on ol.outreach_id = o.id
    group by
        o.id
    having
        cond1 = 0 and cond2 != 1
    ;
    

    それが探しているかどうかはわかりませんが、試してみることができます。cond2!=1は、COUNT(id)=1の条件になります(outreach_linksに複数のリンクされたIDがある場合、cond2は1より大きくなります)




    1. リモートMySQLサーバーに接続できません

    2. データベースへの接続エラー:(クラスorg.gjt.mm.mysql.Driverを使用)

    3. SSMSを介してSQLServerエージェントを有効にする

    4. SQLite Nullif()のしくみ