L’operando dovrebbe contenere 1 colonna – 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) 

Ottengo l’errore “Operando dovrebbe contenere 1 colonna” – ma ho bisogno del COUNT (e.id)

C’√® sempre questo:

 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 ) ) 

La clausola ‘not in’ prevede una lista di valori. Quindi, una query come la seguente funzioner√†:

 SELECT * from campaigns WHERE id not in (SELECT e.id_campaign 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) 

Se puoi dirci la struttura delle tabelle e cosa vuoi selezionare, saremo in grado di trovare la query giusta per te.