Aí preciso fazer um um sintético para mostrar a contagem por número de contrato (lembrando que neste caso o numero de contrato pode se repetir várias vezes, uma vez que um número de contrato pode ter várias Ordens de Serviço).
O problema está em que se o número do contrato repetir em datas diferentes aí tem que contar, atualmente uso:
"SELECT COUNT( DISTINCT contrato ) AS agenda,
SUM( IF( codfec > '399', 1, 0 ) ) AS executadas,
SUM( IF( codfec < '400' AND codfec <> '', 1, 0 ) ) AS quebra
FROM (
SELECT DISTINCT contrato, codfec, rota, b.cod
FROM rota a
LEFT JOIN tiposervicos b ON a.tiposervico = b.descricao
WHERE b.cod = '1'
AND rota = 'FIELD'
AND MONTH(agenda) = MONTH(CURDATE())
)r
GROUP BY rota"
funciona direitinho, exceto o fato que se tem o mesmo número de contrato em dias diferente conta como 'um' só.
Pergunta
Tchello
Tenho na tabela as seguinte colunas:
ID, Contrato, OrdServico, TipoServico, CodFechamento, DataFechamento
Aí preciso fazer um um sintético para mostrar a contagem por número de contrato (lembrando que neste caso o numero de contrato pode se repetir várias vezes, uma vez que um número de contrato pode ter várias Ordens de Serviço).
O problema está em que se o número do contrato repetir em datas diferentes aí tem que contar, atualmente uso:
"SELECT COUNT( DISTINCT contrato ) AS agenda,
SUM( IF( codfec > '399', 1, 0 ) ) AS executadas,
SUM( IF( codfec < '400' AND codfec <> '', 1, 0 ) ) AS quebra
FROM (
SELECT DISTINCT contrato, codfec, rota, b.cod
FROM rota a
LEFT JOIN tiposervicos b ON a.tiposervico = b.descricao
WHERE b.cod = '1'
AND rota = 'FIELD'
AND MONTH(agenda) = MONTH(CURDATE())
)r
GROUP BY rota"
funciona direitinho, exceto o fato que se tem o mesmo número de contrato em dias diferente conta como 'um' só.
Alguém tem uma luz???
Grato
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.