Ir para conteúdo

POWERED BY:

Arquivado

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

asp.net

Store Procedure complicadissima

Recommended Posts

Tenho o procedimento abaixo para buscar informações no banco

 

CREATE PROCEDURE conferencia

 

AS

 

select fechamento.registro as chamado, chamados.unidade as agencia, agencias.nome as nagencia, fechamento.dtfechamento as dtfechamento, fechamento.deslocamento as deslocamento, servicos.valor as valor

from fechamento INNER JOIN chamados ON fechamento.codigo = chamados.codigo

INNER JOIN agencias ON chamados.unidade = agencias.codigo

INNER JOIN servicos ON chamados.codigo = servicos.codigo

order by chamados.unidade

 

chamado#####agencia#######nome#######dtfechamento####valor

7534########0036########Cabo Branco###16/03/2004#####15,20

7489########0036########Cabo Branco###02/03/2004#####14,80

7951########0036########Cabo Branco###03/03/2004#####02,00

 

Este é o que tenho recebido de retorno da SP, mas o que preciso fazer é isto:

 

chamado#####agencia#######nome#######dtfechamento####valor

7534########0036########Cabo Branco###16/03/2004#####15,20

7489########0036########Cabo Branco###02/03/2004#####14,80

7951########0036########Cabo Branco###03/03/2004#####02,00

--------------------------------------------------------------------------------------------------

Nchamados: 3####################################32,00

 

Ou seja exibir o resultado e depois totalizar as ocorrencias por agencia, tenho 40 agencias.

Compartilhar este post


Link para o post
Compartilhar em outros sites

chamado#####agencia#######nome#######dtfechamento####valor7534########0036########Cabo Branco###16/03/2004#####15,20 7489########0036########Cabo Branco###02/03/2004#####14,80 7951########0036########Cabo Branco###03/03/2004#####02,00--------------------------------------------------------------------------------------------------Nchamados: 3####################################32,00

Você precisa de todo esse retorno ou somente da última linha??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Amigo,É o seguinte eu vejo duas saidas para você, uma delas seria você fazer isso no ASP, utilizando umas variáveis acumulando os valores e zerando a cada troca de agência, e a outra solução que acredito ser a melhor seria você fazer um outro processo onde teria fazer assim:select count(), chamados.unidade as agencia, sum(servicos.valor) as valorfrom fechamento INNER JOIN chamados ON fechamento.codigo = chamados.codigo INNER JOIN agencias ON chamados.unidade = agencias.codigoINNER JOIN servicos ON chamados.codigo = servicos.codigoGROUP BY AGENCIA 'Não sei se o banco em questão vai deixar usar agencia, qualquer coisa use chamados.unidadeORDER BY chamados.unidadeEspero ter ajudado.At+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fazendo a adaptação abaixo:::::

 

select count(chamados.unidade), sum(servicos.valor) as valor

from fechamento INNER JOIN chamados ON fechamento.codigo = chamados.codigo

INNER JOIN agencias ON chamados.unidade = agencias.codigo

INNER JOIN servicos ON chamados.codigo = servicos.codigo

GROUP BY chamados.unidade

ORDER BY chamados.unidade

 

Eu tenho como erro isto:::::::::::::::::::

 

Server: Msg 409, Level 16, State 2, Line 1

The sum or average aggregate operation cannot take a nchar data type as an argument.

 

Isto acontece, porque quanto eu uso alguma função de agregação como SUM, COUNT, etc, eu tenho que mandar agrupar todos os campos retornados pelo SQL, mas no meu caso isto não pode ser feito porque tenho que mostrar tanto os campos somados como individualmente.

 

P.S Eu posso dentro de uma SP usar a estrutura "While Not Eof" ou alguma estrutura que me disse se o resultado da consulta chegou ao fim?

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.