Multiplicação SQL Firebird

02/09/2019

4

Pessoal boa tarde estou precisando fazer uma multiplicação no sql firebird,

estou fazendo esse select abaixo:

select C.cli_codigo AS COD,
N.nf_cli_razao AS CLIENTE,
N.nf_dtemissao AS DATA,
N.nf_numero AS NUMERO_NF,
N.nf_icms_vr AS VALOR_ICMS,
N.nf_vrtotal AS VALOR_TOTAL,
N.nf_nfe_chave_identificacao AS CHAVE_XML,

sum(N.nf_vrtotal * 0,02) as VR_IMPOSTO <<<<<<(essa linha que preciso multiplicar a coluna por 0,02

FROM NF N

INNER JOIN CLIENTES C ON (C.cli_razao = N.nf_cli_razao)

WHERE N.nf_cancelada = 'N'
AND N.nf_nfe_denegada = 'N'
AND C.cli_codigo IN (4943,4376,4507,4605,5464,7118,6115,6287)
AND N.nf_dtemissao BETWEEN :DTINI AND :DTFIM

ORDER BY N.nf_cli_razao, N.nf_dtemissao




alguem pode me ajudar???
Responder

Posts

tem certeza que precisa da SUM() ???
Pra usar essas funções de agregação é necessário usar GROUP BY, porém acredito que não é seu caso, visto que você apresenta o valor da nota na linha.
Altere para:
select
	C.cli_codigo AS COD,
	N.nf_cli_razao AS CLIENTE,
	N.nf_dtemissao AS DATA,
	N.nf_numero AS NUMERO_NF,
	N.nf_icms_vr AS VALOR_ICMS,
	N.nf_vrtotal AS VALOR_TOTAL,
	N.nf_nfe_chave_identificacao AS CHAVE_XML,
	(N.nf_vrtotal * 0,02) as VR_IMPOSTO
FROM
	NF N
INNER JOIN
	CLIENTES C ON (C.cli_razao = N.nf_cli_razao)
WHERE
	N.nf_cancelada = 'N'
	AND N.nf_nfe_denegada = 'N'
	AND C.cli_codigo IN (4943,4376,4507,4605,5464,7118,6115,6287)
	AND N.nf_dtemissao BETWEEN :DTINI AND :DTFIM
ORDER BY
	N.nf_cli_razao, N.nf_dtemissao

Responder
tem certeza que precisa da SUM() ???
Pra usar essas funções de agregação é necessário usar GROUP BY, porém acredito que não é seu caso, visto que você apresenta o valor da nota na linha.
Altere para:
select
	C.cli_codigo AS COD,
	N.nf_cli_razao AS CLIENTE,
	N.nf_dtemissao AS DATA,
	N.nf_numero AS NUMERO_NF,
	N.nf_icms_vr AS VALOR_ICMS,
	N.nf_vrtotal AS VALOR_TOTAL,
	N.nf_nfe_chave_identificacao AS CHAVE_XML,
	(N.nf_vrtotal * 0,02) as VR_IMPOSTO
FROM
	NF N
INNER JOIN
	CLIENTES C ON (C.cli_razao = N.nf_cli_razao)
WHERE
	N.nf_cancelada = 'N'
	AND N.nf_nfe_denegada = 'N'
	AND C.cli_codigo IN (4943,4376,4507,4605,5464,7118,6115,6287)
	AND N.nf_dtemissao BETWEEN :DTINI AND :DTFIM
ORDER BY
	N.nf_cli_razao, N.nf_dtemissao

Responder
BOA TARDE, OBRIGADO PELO RETORNO, MAIS NAO DEU CERTO SEM USAR O SUM
POREM USANDO O SUM E COLOCANDO O GROUP BY IGUAL VC MENCIONOU, DEU CERTO, OBRIGADO
Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira