Bgorm Postado Agosto 18, 2009 Denunciar Share Postado Agosto 18, 2009 Pessoal,Sou iniciante, e gostaria de saber como inserir uma linha na tabela com o valor total das "Quantidades".Retorno da query:Pendencias QuantidadesReclamação 193Solicitação 2047T O T A L ???Query:select 'Reclamação' as "Pendencias" ,count(recl.id_CHAM_CD_Chamado) as "Quantidade"from dbo.CS_NGTB_Chamado_CHAM cham ,dbo.CS_NGTB_Reclamacao_RECL reclwhere cham.id_CHAM_CD_Chamado = recl.id_CHAM_CD_Chamadoand (recl.RECL_DH_Encerramento is null or recl.RECL_DH_Encerramento = '1900/01/01')and cham.CHAM_DH_Inicial >= '2009/08/01'and cham.CHAM_DH_Inicial <= '2009/08/15'unionselect 'Solicitação' as " Pendencias" ,count(soli.id_CHAM_CD_Chamado) as "Quantidade"from dbo.CS_NGTB_Chamado_CHAM cham ,dbo.CS_NGTB_Solicitacao_SOLI soliwhere cham.id_CHAM_CD_Chamado =* soli.id_CHAM_CD_Chamadoand (soli.SOLI_DH_Encerramento is null or soli.SOLI_DH_Encerramento = '1900/01/01')and cham.CHAM_DH_Inicial >= '2009/08/01'and cham.CHAM_DH_Inicial <= '2009/08/15'UNIONselect 'T O T A L' ,sum...Aguardo um retorno!Obrigada a Todos! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fulvio Postado Agosto 18, 2009 Denunciar Share Postado Agosto 18, 2009 Olá, tudo bem? Dei uma olhada no código e fiz algumas alterações... :.)Seguinte: ao invés de fazer union, preferi criar uma temporária em tempo de execução. Retirei o UNION e coloquei as informações em apenas 1 linha. Ai vai ficar Reclamação, Solicitação e total. Como está fazendo count, caso a query não resgate nenhuma informação, coloca-se 0 (zero). Postei o script alterado logo abaixo.Como não tenho como rodá-lo, não deu pra testar... rs. Copia e dá uma olhada.Outra coisa: Uma dica: vi que utiliza a sintaxe =*. No sql 2000 é tranquilo, mas no sql 2005 esta sintaxe é descontinuada. você terá que usar o left ou right, ou forçar o 2005 utilizar esta sintaxe (que perde em performance).Copia todo o script e roda. Depois me fala se funcionou... espero ter ajudado.---------------------------------------------------------------------------------------declare @tmp table (Reclamacao int, Solicitacao int, total int)insert into @tmp (Reclamacao)select count(recl.id_CHAM_CD_Chamado)from dbo.CS_NGTB_Chamado_CHAM cham,dbo.CS_NGTB_Reclamacao_RECL reclwhere cham.id_CHAM_CD_Chamado = recl.id_CHAM_CD_Chamadoand (recl.RECL_DH_Encerramento is null or recl.RECL_DH_Encerramento = '1900/01/01')and cham.CHAM_DH_Inicial >= '2009/08/01'and cham.CHAM_DH_Inicial <= '2009/08/15'update @tmp set Solicitacao=(select count(soli.id_CHAM_CD_Chamado)from dbo.CS_NGTB_Chamado_CHAM cham,dbo.CS_NGTB_Solicitacao_SOLI soliwhere cham.id_CHAM_CD_Chamado =* soli.id_CHAM_CD_Chamadoand (soli.SOLI_DH_Encerramento is null or soli.SOLI_DH_Encerramento = '1900/01/01')and cham.CHAM_DH_Inicial >= '2009/08/01'and cham.CHAM_DH_Inicial <= '2009/08/15')update @tmp set total=((select Reclamacao from @tmp) + (select Solicitacao from @tmp))select * from @tmp--------------------------------------------------------------------------------------- Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Bgorm Postado Agosto 18, 2009 Autor Denunciar Share Postado Agosto 18, 2009 Fulvio. Testei e ficou perfeito...Quanto a sintaxe =* , é tranquilo,pois estou utilizando sql server 2000Muito obrigada pela ajuda e informações.Bianca Gorm Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fulvio Postado Agosto 18, 2009 Denunciar Share Postado Agosto 18, 2009 Ok Bianca, fico feliz por ter ajudado!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Bgorm
Pessoal,
Sou iniciante, e gostaria de saber como inserir uma linha na tabela com o valor total das "Quantidades".
Retorno da query:
Pendencias Quantidades
Reclamação 193
Solicitação 2047
T O T A L ???
Query:
select 'Reclamação' as "Pendencias"
,count(recl.id_CHAM_CD_Chamado) as "Quantidade"
from dbo.CS_NGTB_Chamado_CHAM cham
,dbo.CS_NGTB_Reclamacao_RECL recl
where cham.id_CHAM_CD_Chamado = recl.id_CHAM_CD_Chamado
and (recl.RECL_DH_Encerramento is null or recl.RECL_DH_Encerramento = '1900/01/01')
and cham.CHAM_DH_Inicial >= '2009/08/01'
and cham.CHAM_DH_Inicial <= '2009/08/15'
union
select 'Solicitação' as " Pendencias"
,count(soli.id_CHAM_CD_Chamado) as "Quantidade"
from dbo.CS_NGTB_Chamado_CHAM cham
,dbo.CS_NGTB_Solicitacao_SOLI soli
where cham.id_CHAM_CD_Chamado =* soli.id_CHAM_CD_Chamado
and (soli.SOLI_DH_Encerramento is null or soli.SOLI_DH_Encerramento = '1900/01/01')
and cham.CHAM_DH_Inicial >= '2009/08/01'
and cham.CHAM_DH_Inicial <= '2009/08/15'
UNION
select 'T O T A L'
,sum
...
Aguardo um retorno!
Obrigada a Todos!
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.