Ir para conteúdo

POWERED BY:

Arquivado

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

Eduardo P. Barros

Consulta DB

Recommended Posts

Boa tarde,

 

possuo a seguinte query:

 

$sql = "SELECT login, SUM(semcontato) AS semcontato,SUM(canceladas) AS canceladas, SUM(confirmadas) AS confirmadas, SUM(total) AS total FROM(select login AS login, (CASE WHEN status = 'SEM CONTATO' THEN 1 END) AS semcontato, (CASE WHEN status = 'CANCELADA' THEN 1 END) AS canceladas,  (CASE WHEN status = 'CONFIRMADA' THEN 1 END) AS confirmadas, 1 AS total FROM manutencoes WHERE data_ativo= '$hoje' AND status IN('CANCELADA', 'CONFIRMADA','SEM CONTATO') AND login !='' AND os_resumo NOT LIKE '%M END%')AS subQ GROUP BY login ORDER BY total DESC";
$res = mysql_query($sql) or die (mysql_error());

 

Essa consulta me retorna o total somando os tres status, mas preciso que ele liste todos os valores, mas apenas some as confirmadas e canceladas.

 

Ja tentei de varias formas, porem quando retiro só do IN ele não lista a coluna sem contato.

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT login, SUM(semcontato) AS semcontato,SUM(canceladas) AS canceladas, SUM(confirmadas) AS confirmadas, SUM(total) AS total 
FROM(select login AS login, (CASE WHEN status = 'SEM CONTATO' THEN 1 END) AS semcontato, (CASE WHEN status = 'CANCELADA' THEN 1 END) AS canceladas,  (CASE WHEN status = 'CONFIRMADA' THEN 1 END) AS confirmadas, 1 AS total 
FROM manutencoes 
WHERE data_ativo= '$hoje' AND status IN ('CANCELADA', 'CONFIRMADA','SEM CONTATO') AND login !='' AND os_resumo NOT LIKE '%M END%')AS subQ 
GROUP BY login 
ORDER BY total DESC

 

Não sei se entendi mas tente usar a lógica do CASE no SUM.

 

 

...
sum(CASE WHEN status = 'CONFIRMADA' THEN canceladas else 0 END) AS sum_confirmadas
...

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.