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.