Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

macma

Consulta ao banco

Recommended Posts

OláTenho a seguinte dúvida, a minha aplicação tem uma tabela que recebe dados transmitidos de campo com as seguintes informações: - Quem transmitiu - Quando transmitiu - De onde transmitiuBem, para cada transmissão são incluídos vários registros, já que cada usuário tem que responder as mesmas perguntas sobre vários produtos.Eu queria fazer a seguinte consulta:Quero isolar cada visita separadamente sem importar quantos registros foram transmitidos, ou seja, quero saber quantas vezes cada usuário foi em cada ponto em cada diaPor exemplo o usuário 1 transmitiu 15 registros do ponto 3 na data 10/10/2004, o usuário 1 transmitiu 12 registros do ponto 9 na data 10/10/2004, o usuário 1 transmitiu 20 registros do ponto 3 na data 11/10/2004, o usuário 1 transmitiu 10 registros do ponto 4 na data 11/10/2004, o usuário 2 transmitiu 09 registros do ponto 2 na data 10/10/2004, o usuário 2 transmitiu 12 registros do ponto 3 na data 10/10/2004, o usuário 2 transmitiu 11 registros do ponto 3 na data 11/10/2004eu gostaria de retornar a seguinte consulta:o usuário 1 fez 4 pesquisas e o usuário 2 fez 3 pesquisasusei a seguinte query:select count(*) as NR_PESQUISA,DT_DIA_TRANSFERENCIA,ID_USUARIO,ID_PDV from MSL_MOBILE_PESQUISA group by DT_DIA_TRANSFERENCIA,ID_USUARIO,ID_PDVo resultado foi o seguinte:NR_PESQUISA / DT_DIA_TRANSFERENCIA / ID_USUARIO / ID_PDV 15 / 2004-10-10 00:00:00.000 / 1 / 312 / 2004-10-10 00:00:00.000 / 1 / 99 / 2004-10-10 00:00:00.000 / 2 / 212 / 2004-10-10 00:00:00.000 / 2 / 320 / 2004-10-11 00:00:00.000 / 1 / 310 / 2004-10-11 00:00:00.000 / 1 / 411 / 2004-10-11 00:00:00.000 / 2 / 3Gostaria de saber se há alguma maneira de chegar ao resultado desejado:ID_USUARIO / NR_PESQUISA1 / 32 / 4Existe alguma maneira de se chegar a esse resultado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sou expert no assunto mas como ninguém respondeu....Se você jogar o resultado do primeiro select dentro de uma tabela temporária então você pode fazer um segundo select na tabela temporária.EX...Execute a query abaixo...select count(*) as NR_PESQUISA,DT_DIA_TRANSFERENCIA,ID_USUARIO,ID_PDV into #TB_TEMPfrom MSL_MOBILE_PESQUISA group by DT_DIA_TRANSFERENCIA,ID_USUARIO,ID_PDVdepois execute essa...select count(*) as [Número de pesquisas], ID_USUARIO from #tempgroup by ID_USUARIOAssim resolve, só não estou certo de não haver um modo mais correto. E você tem sempre que apagar a tabela temporária antes de executar a primeira query...

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente isso tbm.....select count(*) as [Número de pesquisas], ID_USUARIO from ( select count(*) as NR_PESQUISA,DT_DIA_TRANSFERENCIA,ID_USUARIO,ID_PDV from MSL_MOBILE_PESQUISA group by DT_DIA_TRANSFERENCIA,ID_USUARIO,ID_PDV ) as X ) group by id_usuario;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.