Jump to content


Photo

Unir 3 Consultas Diferentes Em Um Só Relatório


  • Faça o login para participar
4 replies to this topic

#1 Folkmir

Folkmir

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Não informado

Posted 08/04/2009, 10:10

Olá pessoal...

Desculpem pelo primeiro post, na verdade acho que não consegui me fazer entender. O que acontece é o seguinte:
Tenho 3 tabelas com dados diferentes que não trabalham com soma de números, apenas me dão os dados dos documentos que determinada pessoa elaborou.
O que preciso é fazer com que este o relatório me mostre quantos documentos foram feitos de cada um. Aí sim ele deveria usar um cálculo à partir da quantidade de documentos que foram incluídos na tabela.
Ex: Se o João no mês de março fez 2 ARV, 1 BOATRv e 5 BOPM.
Quero que o relatório me pergunte o mês de referência e o nome da pessoa que desejo saber, e a partir da minha resposta ele busque nas 3 tabelas estas informações.
Tendo então como resposta:
Mês de Referência: Março/09
Pessoa: João
ARV = 2
BOATRv = 1
BOPM = 5

É possível fazer isso com o access???

Quem puder me ajudar e tiver a chance de tentar fazer exatamente o que preciso faça o seguinte:

Crie uma tabela chamada ARV, com os campos NOME, DATA, MÊS DE REFERÊNCIA, TIPO DE DOC.
Inclua duas ocorrências para João e três para José, tendo então os seguintes dados na tabela:

João, 02/04/09, Abril/09, ARV
João, 05/04/09, Abril/09, ARV
José, 01/04/09, Abril/09, ARV
José, 07/04/09, Abril/09, ARV
José, 15/04/09, Abril/09, ARV

Crie uma tabela chamada BOATRV, com os campos NOME, DATA, MÊS DE REFERÊNCIA, TIPO DE DOC.
Inclua três ocorrências para João e duas para José, tendo então os seguintes dados na tabela:

João, 02/04/09, Abril/09, BOATRV
João, 05/04/09, Abril/09, BOATRV
João, 18/04/09, Abril/09, BOATRV
José, 07/04/09, Abril/09, BOATRV
José, 15/04/09, Abril/09, BOATRV

Crie uma tabela chamada BOPM, com os campos NOME, DATA, MÊS DE REFERÊNCIA, TIPO DE DOC.
Inclua uma ocorrência para João e três para José, tendo então os seguintes dados na tabela:

João, 02/04/09, Abril/09, BOPM
José, 01/04/09, Abril/09, BOPM
José, 07/04/09, Abril/09, BOPM
José, 15/04/09, Abril/09, BOPM

Agora talvez você entenda minha dúvida, quero criar um relatório que me dê a informação individual de cada pessoa. Quando eu chamar o relatório ele irá me perguntar o mês de referência, que eu digitarei, e o nome da pessoa. A partir disto ele me dará a seguinte resposta:
Ex.:

Mês de Referência: Abril/09
Pessoa: João

ARV = 2
BOATRv = 3
BOPM = 1

Eu até consegui fazer a consulta incluindo os três no relatório, só que ele replica todas as informações, por exemplo só tenho 2 ARV e ele me volta 30, porque soma várias vezes a mesma ocorrência.

Edição feita por: Folkmir, 08/04/2009, 01:15.


#2 Renan L. Queiroz

Renan L. Queiroz

    Mestre

  • Usuários
  • 690 posts
  • Sexo:Masculino
  • Localidade:Brasilia - DF

Posted 25/01/2010, 15:17

Aqui colega, faça bom proveito:

declare @ARV table(id_doc smallint, nome char(50), data char(50), mes_referencia char(15), tipo_doc char(30))
declare @BOATRV table(id_doc smallint, nome char(50), data char(50), mes_referencia char(15), tipo_doc char(30))
declare @BOPM table(id_doc smallint, nome char(50), data char(50), mes_referencia char(15), tipo_doc char(30))

insert into @ARV values(1, 'João', '02/04/09', 'Abril/09', 'ARV')
insert into @ARV values(2, 'João', '05/04/09', 'Abril/09', 'ARV')
insert into @ARV values(3, 'José', '01/04/09', 'Abril/09', 'ARV')
insert into @ARV values(4, 'José', '07/04/09', 'Abril/09', 'ARV')
insert into @ARV values(5, 'José', '15/04/09', 'Abril/09', 'ARV')

insert into @BOATRV values(1, 'João', '02/04/09', 'Abril/09', 'BOATRV')
insert into @BOATRV values(2, 'João', '05/04/09', 'Abril/09', 'BOATRV')
insert into @BOATRV values(3, 'João', '18/04/09', 'Abril/09', 'BOATRV')
insert into @BOATRV values(4, 'José', '07/04/09', 'Abril/09', 'BOATRV')
insert into @BOATRV values(5, 'José', '15/04/09', 'Abril/09', 'BOATRV')

insert into @BOPM values(1, 'João', '02/04/09', 'Abril/09', 'BOPM')
insert into @BOPM values(2, 'José', '01/04/09', 'Abril/09', 'BOPM')
insert into @BOPM values(3, 'José', '07/04/09', 'Abril/09', 'BOPM')
insert into @BOPM values(4, 'José', '15/04/09', 'Abril/09', 'BOPM')

select
tipo_doc,
count (distinct id_doc)qdt_doc
from @ARV
where nome = 'João'
group by tipo_doc

union

select
tipo_doc,
count (distinct id_doc)qdt_doc
from @BOATRV
where nome = 'João'
group by tipo_doc

union

select
tipo_doc,
count (distinct id_doc)qdt_doc
from @BOPM
where nome = 'João'
group by tipo_doc

Resultado:
Retorno da pesquisa
tipo_docqtd_doc
ARV2
BOATRV3
BOPM1


Mais informações sobre o UNION, GROUP BY e COUNT acesse MSDN.

;-)

Edição feita por: Renan L. Queiroz, 25/01/2010, 15:24.

Especialidade: Desenvolvimento e Banco de Dados.


Este post lhe ajudou? Agradeça: Posted Image


#3 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 30/09/2017, 20:59

Viagra Achat Gratuit cheap cialis Viagra Original Levitra Foglio Illustrativo

#4 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 10/10/2017, 17:23

Cialis Lilly Prezzo Sito Affidabile Per L'Acquisto Kamagra viagra Keflex During Pregnancy Clomid Pharmacie Achat De Viagra Pfizer
Propecia Arranca Pharmacie Cialis Viagra buy viagra Cialis Meglio Del Viagra

#5 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 07/11/2017, 16:09

Priligy Effectiveness Propecia Galenica Como Conseguir Cytotec En Chicago viagra Plavix Online Coupons Viagra Pfizer Ohne Rezept Online Pharmacy Propecia Buy
Legally Clobetasol Mastercard Accepted viagra Legally Progesterone Menopause Cheap In Australia Shop Online




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq