首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MYSQL中不存在多重行数以检查行数

问MYSQL中不存在多重行数以检查行数
EN

Stack Overflow用户
提问于 2016-12-13 04:19:23
回答 1查看 104关注 0票数 0

我试图使这个查询工作,这是我的逻辑,我试图选择记录--至少没有这样的选项:

代码语言:javascript
复制
1). status = Approved AND end_date >now
2). status =Approved AND end_date is NULL
3). status = Pending And end_date is NULL & COUNT(id) =1
4). status =Pending AND end_date >now & COUNT(id) =1
5). status =Pending AND end_date <now & COUNT(id) =1

如何做到这一点,到目前为止,我还不确定如何在条件3、4和5中检查COUNT(id) =1?

代码语言:javascript
复制
SELECT
    *
FROM
    outreach
WHERE
    NOT EXISTS (
        SELECT
            *
        FROM
            outreach_links
        WHERE
            outreach_links.outreach_id = outreach.id
        AND STATUS = "Approved"
        AND end_date > now()
    )
AND NOT EXISTS (
    SELECT
        *
    FROM
        outreach_links
    WHERE
        outreach_links.outreach_id = outreach.id
    AND STATUS = "Approved"
    AND end_date IS NULL
)
AND NOT EXISTS (
    SELECT
        *
    FROM
        outreach_links
    WHERE
        outreach_links.outreach_id = outreach.id
    AND STATUS = "Pending"
    AND end_date > now()
)
AND NOT EXISTS (
    SELECT
        *
    FROM
        outreach_links
    WHERE
        outreach_links.outreach_id = outreach.id
    AND STATUS = "Pending"
    AND end_date IS NULL
)
AND NOT EXISTS (
    SELECT
        *
    FROM
        outreach_links
    WHERE
        outreach_links.outreach_id = outreach.id
    AND STATUS = "Pending"
    AND end_date < now()
)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-13 09:13:15

代码语言:javascript
复制
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使计数( id )=1条件(如果outreach_links cond2中有多个链接id将大于1)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41113660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档