Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

paulo.chagas

Subquery

Recommended Posts

Bom dia pessoal, preciso de um help...

Tenho a seguinte pesquisa

SELECTa.id,a.acf,DATE_FORMAT (o.dataenvio,'%m/%Y') as mes,count(o.objeto) as QTD,sum(fromPrevenda) as prevenda,(round(sum(fromPrevenda) / count(*),4))*100 as percentual,a.dia,a.valorAdicional,(select count(al.id) from alertas where data like '2016%' ) as qtdeEmailFROM objetos ojoin clientes c on o.codCliente = c.codClientejoin acf a on a.id = c.id_acf WHERE a.sto = '00236831' and o.dataenvio like '2016%'GROUP BY DATE_FORMAT(o.dataenvio,'%Y/%m')

Preciso agrupar aquela subquery pelo mês, campo data, mas como é uma subquery, nao retorna mais de uma linha, e no meu caso, o resultado correto seria retornar 3 linhas, meses 1, 2 e 3...há alguma outra forma

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente

SELECT
a.id,
a.acf,
DATE_FORMAT (o.dataenvio,'%m/%Y') as mes,
count(o.objeto) as QTD,
sum(fromPrevenda) as prevenda,
(round(sum(fromPrevenda) / count(*),4))*100 as percentual,
a.dia,
a.valorAdicional,
(
select count(al.id) from alertas
where DATE_FORMAT (data,'%m/%Y') = DATE_FORMAT (o.dataenvio,'%m/%Y')
) as qtdeEmail
FROM objetos o
join clientes c on o.codCliente = c.codCliente
join acf a on a.id = c.id_acf
WHERE a.sto = '00236831'
and o.dataenvio like '2016%'
GROUP BY DATE_FORMAT(o.dataenvio,'%Y/%m')

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.