数据库
首页 > 数据库> > 操作数应包含1列 – MySQL不在

操作数应包含1列 – MySQL不在

作者:互联网

SELECT * from campaigns WHERE id not in
(SELECT 
    e.id_campaign, d.name, d.frequency, d.country, d.referral, d.bid, d.status, COUNT(e.id) AS countcap  
    FROM campaigns d
    LEFT JOIN served e
    ON d.id = e.id_campaign 
    WHERE 
        d.status = 'Active'
    GROUP BY e.id_campaign
    HAVING
        countcap < d.frequency)

我得到错误“操作数应该包含1列” – 但我需要COUNT(e.id)

解决方法:

这总是这样的:

select *
from campaigns 
where id not in (
    select id_campaign from (
        select e.id_campaign as id_campaign, d.frequency, e.id
        from campaigns d left join served e on d.id = e.id_campaign
        where d.status = 'Active'
        group by e.id_campaign 
        having count(e.id) < d.frequency 
    )
)

标签:mysql,sql,mysql-error-1241
来源: https://codeday.me/bug/20190621/1254410.html