Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Mehrere existieren nicht in MYSQL, um die Anzahl der Zeilen zu überprüfen

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
;

Nicht sicher, ob Sie danach suchen, aber Sie können es versuchen. cond2 !=1 macht Ihre COUNT(id) =1-Bedingung (wenn es mehr als eine verknüpfte ID in outreach_links gibt, ist cond2 größer als 1)