ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

[resolvido] Select Count com where

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
renanbg
Colaborador
Colaborador


Registrado: Quinta-Feira, 12 de Abril de 2012
Mensagens: 1158

MensagemEnviada: Qui Ago 31, 2017 1:18 pm    Assunto: [resolvido] Select Count com where Responder com Citação

Amigos, estou tentando montar um relatorio para obter o total de pacientes atendidos em determinado periodo.

A SQL abaixo traz o total agrupado por convenio

Código:
SELECT COUNT(AG.CODIGO), CO.CONVENIO
 FROM AGENDA AG
 LEFT JOIN contas_receber CR
 ON AG.codigo = CR.COD_AGENDAMENTO
 LEFT JOIN CONVENIOS CO
 ON CO.CODIGO = CR.COD_CONVENIO
 GROUP BY CO.CONVENIO


Preciso listar apenas os que confirmaram o agendamento. Para isso existe um campo na AGENDA chamado STATUS, cujo valor Zero indica que o agendamento está confirmado.

Alguma sugestão?


Editado pela última vez por renanbg em Sex Set 01, 2017 10:06 am, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
leo_cj
Colaborador
Colaborador


Registrado: Sábado, 26 de Março de 2011
Mensagens: 1335

MensagemEnviada: Qui Ago 31, 2017 1:32 pm    Assunto: Responder com Citação

Já tentou assim?

Código:
SELECT COUNT(AG.CODIGO),
       CO.CONVENIO
  FROM AGENDA AG
       LEFT JOIN contas_receber CR
       ON AG.codigo = CR.COD_AGENDAMENTO
       LEFT JOIN CONVENIOS CO
       ON CO.CODIGO = CR.COD_CONVENIO
 WHERE Agenda.Status = 0
 GROUP BY CO.CONVENIO
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
renanbg
Colaborador
Colaborador


Registrado: Quinta-Feira, 12 de Abril de 2012
Mensagens: 1158

MensagemEnviada: Qui Ago 31, 2017 4:44 pm    Assunto: Responder com Citação

Bah, meu where estava apenas pelo STATUS, quando deveria estar como AG.Status. kkkk

Agora está ok.

Abusando... O resultado do campo convenio poderá vir zerado, o que significa que se trata de um atendimento particular.
Neste caso existe uma forma de eu mostrar, na tela para o usuario, a palavra PARTICULAR?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
leo_cj
Colaborador
Colaborador


Registrado: Sábado, 26 de Março de 2011
Mensagens: 1335

MensagemEnviada: Qui Ago 31, 2017 5:06 pm    Assunto: Responder com Citação

Tenta assim:
Código:
SELECT COUNT(AG.CODIGO),
       CASE WHEN COALESCE(CO.CONVENIO, '') = ''
            THEN 'PARTICULAR'
            ELSE CO.CONVENIO
        END CONVENIO
  FROM AGENDA AG
       LEFT JOIN contas_receber CR
       ON AG.codigo = CR.COD_AGENDAMENTO
       LEFT JOIN CONVENIOS CO
       ON CO.CODIGO = CR.COD_CONVENIO
 WHERE Agenda.Status = 0
 GROUP BY CO.CONVENIO
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
renanbg
Colaborador
Colaborador


Registrado: Quinta-Feira, 12 de Abril de 2012
Mensagens: 1158

MensagemEnviada: Sex Set 01, 2017 10:03 am    Assunto: Responder com Citação

Opa, maravilha!

Obrigado.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB