[firebase-br] Consulta para feras

Augusto junior gutopj02 em gmail.com
Qua Ago 22 13:32:28 -03 2012


Vou tentar detalhar melhor

na tabela consultas é onde sera diversos registros com consultas
diarias de cada medico... sendo que alguns
atendem em dois horarios .. .. na tabela fica os horarios que cada um
atende e quantas consultas e retornos podem
ser marcadas ... no cadastro de cada medico ainda guarda o cbo de cada
um que na tabela de especialidades o cbo e a descricao da
especialidades...
entao

venho agora e marco as consultas guardadas na tabela agendamentos

data            medmedico horario tipoagenda

03/08/2012  0002            11:00     1
03/08/2012  0001            11:00     2
03/08/2012  0002            14:00     1
03/08/2012  0001            11:00     2
04/08/2012  0002            14:00     1
03/08/2012  0001            11:00     2
04/08/2012  0002            14:00     1
03/08/2012  0001            11:00     2

assim ficaria a tabela de agendamentos...

agora o que preciso é  somar

dia 03/08/2012 ... CADA UM DOS MEDICOS ... ( SEPARADO POR HORARIO ) ..
pegar qtas consultas atende no horario e qtos retornos... e montar a
uma consulta

DATA         HORARIO   MEDICO
  CONS. DISP.   RET. DISP
03/08/2012  11:00         0001 PAULO DE ANTONIO
        4                 3
03/08/2012  14:00         0001 PAULO DE ANTONIO
        5                 4
03/08/2012  11:00         0002 JOSE MARIA DA CONCEICAO
 4                 3
03/08/2012  14:00         0002 JOSE MARIA DA CONCEICAO
 5                 4
04/08/2012   11:00        0002 JOSE MARIA DA CONCEICAO
 3                 6

em cada dia do periodo dado ... todos os medicos que possuim a
especialidade dada pelo cbo
que conte quantas retornos e consultas  ja foi marcado  no ( dia e
horario )  e subitrair do
numero de consulta e retorno que esta guardado na tabela horarios ...
e mostrar quantas
consultas e retornos ainda estao disponiveis ....

acho que é isso

Grato
Augusto
















Em 22 de agosto de 2012 12:50, MAURICIO COSTA
<maximmumsistemas em gmail.com> escreveu:
> Marcos é que ainda não entendi sua necessidade mais, você poder utilizar o
> campo calculado que o firebird possui. Vou dar um exemplo abaixo. Caso você
> não consiga entender me envie um e-mail mais detalhado do que vc precisa
> que faço o sql para você.
>
> COMPUTED BY (Cast(( nconsultas -  consultasmarcadas) As integer))
>
> Em 22 de agosto de 2012 08:02, Marcos Weimer <marcosweimer em gmail.com>escreveu:
>
>> Então faça com sub select....
>> incluida naquele select algo mais ou menos assim...
>> select nretornos - (select count(*) from...)
>>
>>
>> -=Ma®©oS=-
>> Marcos R. Weimer
>> Puma GTE 1974 Tubarão - Troco por antigo ou jeep com capacidade maior de
>> passageiros (minimo 3)
>> Delphi / C# / ASP.NET / WebServices / Firebird
>>
>>
>>
>>
>> Em 22 de agosto de 2012 06:46, Augusto junior <gutopj02 em gmail.com>
>> escreveu:
>>
>> > Oi Marcos,
>> >
>> > Não é isso... ai esta somente mostrando o número de consultas e
>> > retornos que cada médico
>> > faz, o que preciso é que onde esta ai na sua sql mostre ao inves de o
>> > numero de retornos e consultas
>> > mostre o numero de consultas e retornos que ainda estao disponiveis...
>> > ou seja tem que se calcular
>> > as consultas e  nconsultas - consultasmarcadas ... e o mesmo com
>> > retornos...
>> >
>> > valeu a força, mas ainda esta sem solução
>> > Augusto
>> >
>> > 2012/8/21 Marcos Weimer <marcosweimer em gmail.com>:
>> > > mais ou menos isso aqui...
>> > >
>> > > select a.data, m.codmedico, m.nome as nomeMedico, a.hora as horario,
>> > > h.nconsultas, h.nretornos
>> > >
>> > > from agendamentos a
>> > > inner join medidos m on m.codmedico = a.codmedico
>> > > inner join horarios h on h.codmedico = a.codmedico and h.hora = a.hora
>> > > where a.data between :dataini and :datafim --periodo
>> > > and m.cbo = :cbo --cbo
>> > >
>> > >
>> > >
>> > > -=Ma®©oS=-
>> > > Marcos R. Weimer
>> > > Puma GTE 1974 Tubarão - Troco por antigo ou jeep com capacidade maior
>> de
>> > > passageiros (minimo 3)
>> > > Delphi / C# / ASP.NET / WebServices / Firebird
>> > >
>> > >
>> > >
>> > >
>> > > Em 21 de agosto de 2012 10:07, Augusto junior <gutopj02 em gmail.com>
>> > escreveu:
>> > >
>> > >> Olá pessoal,
>> > >>
>> > >> preciso do seguinte de uma consulta de agendamentos diario..
>> > >>
>> > >> tenho  as tabelas:
>> > >>
>> > >> ESPECIALIDADES:
>> > >>      CBO                    - CHAR(6)
>> > >>      ESPECIALIDADE - VARCHAR(20)
>> > >>
>> > >> MEDICOS
>> > >>     CBO              - CHAR(6)
>> > >>     CODMEDICO  - CHAR(5)
>> > >>     NOME            - VARCHAR(50)
>> > >>
>> > >> HORARIOS
>> > >>    CODMEDICO   - CHAR(5)
>> > >>    HORA              - TIME
>> > >>    NCONSULTAS  - INTEGER       ( DEFINE QTAS CONSULTAS PODEM SER
>> > >> AGENDADAS NO HORARIO)
>> > >>    NRETORNOS    - INTEGER       ( DEFINE QTOS RETORNOS PODEM SER
>> > >> AGENDADOS NO HORARIO )
>> > >>
>> > >> AGENDAMENTOS
>> > >>     DATA            - DATE
>> > >>     CODMEDICO -  CHAR(5)
>> > >>     HORA            - TIME
>> > >>     TIPOAGENDA - INTEGER       ( qdo 1 = consulta / qdo 2 = retorno )
>> > >>
>> > >>
>> > >> PROBLEMA
>> > >>   Dado DATA INICIAL e DATA FINAL  de um periodo e o CBO uma SQL que me
>> > >> retorne
>> > >>
>> > >> DATA  /  CODMEDICO / NOME DO MEDICO / HORARIO /  NUM CONSULTAS
>> > >> AGENDADAS / NUMERO RETORNOS AGENDADOS
>> > >>
>> > >>
>> > >> Se alguem souber e puder me ajudar agradeço
>> > >>
>> > >> Atenciosamente,
>> > >> Augusto
>> > >>
>> > >> ______________________________________________
>> > >> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> > >> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> > >> http://www.firebase.com.br/fb/artigo.php?id=1107
>> > >> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>> > >>
>> > > ______________________________________________
>> > > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> > > Para saber como gerenciar/excluir seu cadastro na lista, use:
>> > http://www.firebase.com.br/fb/artigo.php?id=1107
>> > > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>> >
>> > ______________________________________________
>> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> > Para saber como gerenciar/excluir seu cadastro na lista, use:
>> > http://www.firebase.com.br/fb/artigo.php?id=1107
>> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>> >
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa




Mais detalhes sobre a lista de discussão lista