sql, group by e subquery

29/12/2008

0

Bom dia,
Estou com um problema.
Tenho quatro tabelas (exames, prestadores, exam_mestre, exam_detalhe),
Estou com a tarefa de fazer um relatório com todas os exames marcados
para um determinado prestador de servico, com os totais de cada exame.

As tabelas estão assim estruturadas:
Tabela: Exames - Campos: CODEX, EXAME
Tabela: Prestadores - Campos: CODPRES, PRESTADOR
Tabela: Exam_mestre - Campos: AUTORIZACAO, CODPRES, DATA_EX
Tabela: Exam_detalhe - Campos: AUTORIZACAO, CODEX, AUTORIZADO

Explicação: Tabela Exam_detalhe, chave primária é Autorizacao+codex.
Exam_detalhe faz referência a tabela exam_mestre(autorizacao) e referência a tabelas exames (codex).
A tabela exam_mestre faz referência a tabela Prestadores através de Codpre, sendo chave primária o número da autorização.

O que desejo:
O totais de cada exame marcado por prestador, em um determinado período.

Exemplo de resultado:
Para o prestador de código 152 (Lab. Central Ltda.), no período de 01/01/2008 a 30/06/2008 obtivemos os seguintes números:

CODEX EXAME QTDE
10782 usg pel 510
52410 rx abd. 052
65210 usg ab. 102

Como seria a instrução sql para adquirir tal resultado?[/code]


Alex.pb.64b

Alex.pb.64b

Responder

Posts

11/01/2009

Emerson Nascimento

tente assim:
select
  em.CODPRES, ex.CODEX, ex.EXAME, count(ed.CODEX) QTDE
from
  EXAM_DETALHE ed
inner join
  EXAM_MESTRE em on (em.AUTORIZACAO = ed.AUTORIZACAO)
inner join
  EXAMES ex on (ex.CODEX = ed.CODEX)
group by
  em.CODPRES, ex.CODEX, ex.EXAME



Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar