$query ="SELECT *, COUNT(familia) as total from cadastro group by familia";
$executa=mysql_query($query);
$a=mysql_fetch_array($executa);
//Pega o total de produtos já fabricados com base na data de retorno;
$queryb ="SELECT COUNT(familia) as pronto from cadastro where dataretorno<>'0000-00-00 00:00:00' group by familia";
$executab=mysql_query($queryb);
$b=mysql_fetch_array($executab);
//Pega o total de produtos em produção com base na data de retorno.
$queryc ="SELECT COUNT(familia) as producao from cadastro where dataretorno='0000-00-00 00:00:00' group by familia";
$executac=mysql_query($queryc);
$c=mysql_fetch_array($executac);
Problema está que ele retorna, apenas de uma família, pois não está em um while nem nada. Tentei usar um IF na consulta mas não obtive sucesso.
Exemplo de dados gravados:
familia dataretorno
C2-2018 0000-00-00 00:00:00
C2-2018 2018-02-02 00:00:00
C3-2018 2018-02-03 00:00:00
C4-2018 2018-02-05 00:00:00
C5-2018 2018-02-07 00:00:00
C5-2018 2018-02-07 00:00:00
C5-2018 0000-00-00 00:00:00
Saida MYSQL agrupando por família
familia dataretorno pronto producao total
C2-2018 0000-00-00 00:00:00 1 1 2
C3-2018 2018-02-03 00:00:00 1 0 1
C4-2018 2018-02-05 00:00:00 1 0 1
C5-2018 2018-02-07 00:00:00 2 1 3
Como poderia fazer isso usando apenas uma querie, tentei com sub selects também não consegui
Pergunta
zandotc
Boa Tarde,
Tenho as seguintes queries:
//Pega o total de produtos da familia. Ex 25
$query ="SELECT *, COUNT(familia) as total from cadastro group by familia";
$executa=mysql_query($query);
$a=mysql_fetch_array($executa);
//Pega o total de produtos já fabricados com base na data de retorno;
$queryb ="SELECT COUNT(familia) as pronto from cadastro where dataretorno<>'0000-00-00 00:00:00' group by familia";
$executab=mysql_query($queryb);
$b=mysql_fetch_array($executab);
//Pega o total de produtos em produção com base na data de retorno.
$queryc ="SELECT COUNT(familia) as producao from cadastro where dataretorno='0000-00-00 00:00:00' group by familia";
$executac=mysql_query($queryc);
$c=mysql_fetch_array($executac);
Problema está que ele retorna, apenas de uma família, pois não está em um while nem nada. Tentei usar um IF na consulta mas não obtive sucesso.
Exemplo de dados gravados:
familia dataretorno
C2-2018 0000-00-00 00:00:00
C2-2018 2018-02-02 00:00:00
C3-2018 2018-02-03 00:00:00
C4-2018 2018-02-05 00:00:00
C5-2018 2018-02-07 00:00:00
C5-2018 2018-02-07 00:00:00
C5-2018 0000-00-00 00:00:00
Saida MYSQL agrupando por família
familia dataretorno pronto producao total
C2-2018 0000-00-00 00:00:00 1 1 2
C3-2018 2018-02-03 00:00:00 1 0 1
C4-2018 2018-02-05 00:00:00 1 0 1
C5-2018 2018-02-07 00:00:00 2 1 3
Como poderia fazer isso usando apenas uma querie, tentei com sub selects também não consegui
Muito obrigado pela atenção e colaboração.
Link para o comentário
Compartilhar em outros sites
2 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.