sql >> Databasteknik >  >> RDS >> Mysql

Flera finns inte i MYSQL för att kontrollera antalet rader

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
;

Inte säker på om det är det du letar efter, men du kan prova det.cond2 !=1 gör att ditt COUNT(id) =1-villkor (om det finns mer än ett länkat id i outreach_links kommer cond2 att vara större än 1)




  1. Hur man får distinkta poster från en tabell i SQL Server - SQL Server / TSQL Tutorial 112

  2. fpdf-fel och visningstabellfel

  3. Släpps också indexen om du släpper en tabell i MySQL?

  4. Hur DAYOFMONTH() fungerar i MariaDB