Função SUM no envio de e-mail

07/04/2020

0

Galera, estou com esse código para envio de e-mail com o valor de estoque por cliente.
Gostaria de colocar a função
SUM
no saldovalor mas não estou conseguindo podem me ajudar?


DECLARE @xml NVARCHAR(MAX)
DECLARE @body NVARCHAR(MAX)

SET @xml = CAST(( SELECT [saldovalor] AS ''''td'''','''''''',[apelido] AS ''''td''''

FROM am_saldoestoque a
INNER JOIN MS_PESSOA B ON (B.HANDLE = cliente)
WHERE CLIENTE NOT IN (10004,12058)
GROUP BY apelido, saldovalor

FOR XML PATH(''''tr''''), ELEMENTS ) AS NVARCHAR(MAX))


SET @body =''''<html><body><H3>Segue valor de mercadoria em estoque</H3>
<table border = 1> 
<tr>
<th> Cliente </th> <th> Valor de estoque </th></tr>''''    
 
SET @body = @body + @xml +''''</table></body></html>''''

EXEC msdb.dbo.sp_send_dbmail
@profile_name = ''''tac'''', 
@body = @body,
@body_format =''''HTML'''',
@recipients = ''''isaque.silva@tactransportes.com.br'''', 
@subject = ''''Saldo valor de mercadoria em estoque'''' ;
Isaque

Isaque

Responder

Post mais votado

07/04/2020

para isso você terá de retirar o campo saldovalor da cláusula group by.
DECLARE @xml NVARCHAR(MAX)
DECLARE @body NVARCHAR(MAX)
 
SET @xml = CAST(( SELECT sum([saldovalor]) AS ''''td'''','''''''',[apelido] AS ''''td''''
FROM am_saldoestoque a
INNER JOIN MS_PESSOA B ON (B.HANDLE = cliente)
WHERE CLIENTE NOT IN (10004,12058)
GROUP BY apelido
 
FOR XML PATH(''''tr''''), ELEMENTS ) AS NVARCHAR(MAX))
  
SET @body =''''<html><body><H3>Segue valor de mercadoria em estoque</H3>
<table border = 1> 
<tr>
<th> Cliente </th> <th> Valor de estoque </th></tr>''''   
  
SET @body = @body + @xml +''''</table></body></html>''''
 
EXEC msdb.dbo.sp_send_dbmail
@profile_name = ''''tac'''', 
@body = @body,
@body_format =''''HTML'''',
@recipients = ''''isaque.silva@tactransportes.com.br'''', 
@subject = ''''Saldo valor de mercadoria em estoque'''' ;

Emerson Nascimento

Emerson Nascimento
Responder

Mais Posts

07/04/2020

Isaque

para isso você terá de retirar o campo saldovalor da cláusula group by.
DECLARE @xml NVARCHAR(MAX)
DECLARE @body NVARCHAR(MAX)
 
SET @xml = CAST(( SELECT sum([saldovalor]) AS ''''td'''','''''''',[apelido] AS ''''td''''
FROM am_saldoestoque a
INNER JOIN MS_PESSOA B ON (B.HANDLE = cliente)
WHERE CLIENTE NOT IN (10004,12058)
GROUP BY apelido
 
FOR XML PATH(''''tr''''), ELEMENTS ) AS NVARCHAR(MAX))
  
SET @body =''''<html><body><H3>Segue valor de mercadoria em estoque</H3>
<table border = 1> 
<tr>
<th> Cliente </th> <th> Valor de estoque </th></tr>''''   
  
SET @body = @body + @xml +''''</table></body></html>''''
 
EXEC msdb.dbo.sp_send_dbmail
@profile_name = ''''tac'''', 
@body = @body,
@body_format =''''HTML'''',
@recipients = ''''isaque.silva@tactransportes.com.br'''', 
@subject = ''''Saldo valor de mercadoria em estoque'''' ;


Deu certo, Obrigado.
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