操作数应包含 1 列 - MySQL NOT IN

时间:2023-04-30
本文介绍了操作数应包含 1 列 - MySQL NOT IN的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

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)

I get the error "Operand Should Contain 1 Column" - but I need the 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 
    )
)

这篇关于操作数应包含 1 列 - MySQL NOT IN的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一篇:MySQL 语法错误消息“操作数应包含 1 列" 下一篇:如何缩小/清除 MySQL 中的 ibdata1 文件

相关文章