Você está na página 1de 5

Select

codproduto,
produto,
codbarras,
precovenda,
referencia,
qtde,
Cast(Coalesce(sum(tt),0) as Decimal(15,4)) as tt,
Coalesce(cast(sum(ttbruto) as Decimal(15,4)),0) as ttbruto,
Coalesce(cast(sum(ttunit) as Decimal(15,4)),0) as ttunit,
cast(avg(lucro) as decimal(15, 2)) lucro
FROM
(
Select
iecf.codproduto,
iecf.produto,
est.codbarras,
est.precovenda,
est.referencia,
est.qtde,
sum(iecf.qtde) tt,
sum(iecf.valorunitario) ttbruto,
sum(iecf.totalliquido) ttunit,
iif(est.codaplicacaoproduto <> '09', (((avg(coalesce(iecf.valorunitario, 0)) -
avg(coalesce(iecf.precocustoitem, 0))) * 100) / avg(coalesce(iecf.precocustoitem,
0))),0) as lucro
from
tvendaecf ecf
Inner join
titemvendaecf iecf
on
ecf.controle = iecf.codvendaecf
Inner join
testoque est
on
iecf.codproduto = est.controle
where
ecf.Dataemissaoecf between'11/01/2022' and '11/30/2022'
and ecf.cancelado <> 'SIM' and iecf.cancelado <> 'SIM'

Group by
iecf.codproduto,
iecf.produto,
est.codbarras,
est.precovenda,
est.referencia,
est.qtde,
est.codaplicacaoproduto

Union all

Select
infe.codproduto,
infe.produto,
est.codbarras,
est.precovenda,
est.referencia,
est.qtde,
sum(infe.qtdecomercial) tt,
sum(infe.totalprodutos) ttbruto,
sum(infe.totaliquido) ttunit,
iif(est.codaplicacaoproduto <> '09', (((avg(coalesce(infe.valorunitario, 0)) -
avg(coalesce(infe.precocustoitem, 0))) * 100) / avg(coalesce(infe.precocustoitem,
0))),0) as lucro
from
tvendanfe nfe
inner join
toperacao o
on
o.controle = nfe.codoperacao
inner join
titensvendanfe infe
on
nfe.controle = infe.codnfe
inner join
testoque est
on
infe.codproduto = est.controle
where
o.tipooperacao = '1' and
o.movimentafinanceiro = 'SIM' and
nfe.dataemissao between '11/01/2022' and '11/30/2022'
and nfe.protocolo is not null and nfe.cancelada <> 'SIM'
and nfe.inutilizada <> 'SIM' and nfe.statusdeenvio = 'Autorizado o uso da NF-e'
and nfe.tipooperacao = '1'

Group by
infe.codproduto,
infe.produto,
est.codbarras,
est.precovenda,
est.referencia,
est.qtde,
est.codaplicacaoproduto

Union all

Select
inm.codproduto,
inm.produto,
est.codbarras,
est.precovenda,
est.referencia,
est.qtde,
sum(inm.qtde) tt,
sum(inm.totalitens) ttbruto,
sum(inm.totaliquido) ttunit,
iif(est.codaplicacaoproduto <> '09', (((avg(coalesce(inm.precounitario, 0)) -
avg(coalesce(inm.precocustoitem, 0))) * 100) / avg(coalesce(inm.precocustoitem,
0))),0) as lucro
from
tnotaconsumidor nm
inner join
titennotaconsumidor inm
on
nm.controle = inm.codnotaconsumidor
inner join
testoque est
on
inm.codproduto = est.controle
where
nm.dataemissao between '11/01/2022' and '11/30/2022'
and nm.cancelado <> 'SIM' and nm.faturada = 'SIM'

Group by
inm.codproduto,
inm.produto,
est.codbarras,
est.precovenda,
est.referencia,
est.qtde,
est.codaplicacaoproduto

Union all

Select
infce.codproduto,
infce.produto,
est.codbarras,
est.precovenda,
est.referencia,
est.qtde,
sum(infce.qtde) tt,
sum(infce.valortotal) ttbruto,
sum(infce.valorliquido) ttunit,
iif(est.codaplicacaoproduto <> '09', (((avg(coalesce(infce.valorunitario, 0)) -
avg(coalesce(infce.precocustoitem, 0))) * 100) / avg(coalesce(infce.precocustoitem,
0))),0) as lucro
from
tvendanfce nfce
inner join
titemvendanfce infce
on
nfce.controle = infce.codnfce
inner join
testoque est
on
infce.codproduto = est.controle
where
nfce.dataemissao between '11/01/2022' and '11/30/2022'
and nfce.sat <> 'SIM' and nfce.protocolo is not null and
nfce.protocolocancelamento is null
and nfce.statusenvio = 'Autorizado o uso da NF-e' and (nfce.inutilizada <>
'SIM' or nfce.inutilizada is null)

Group by
infce.codproduto,
infce.produto,
est.codbarras,
est.precovenda,
est.referencia,
est.qtde,
est.codaplicacaoproduto

Union all

Select
isat.codproduto,
isat.produto,
est.codbarras,
est.precovenda,
est.referencia,
est.qtde,
sum(isat.qtde) tt,
sum(isat.valortotal) ttbruto,
sum(isat.valorliquido) ttunit,
iif(est.codaplicacaoproduto <> '09', (((avg(coalesce(isat.valorunitario, 0)) -
avg(coalesce(isat.precocustoitem, 0))) * 100) / avg(coalesce(isat.precocustoitem,
0))),0) as lucro
from
tvendanfce sat
inner join
titemvendanfce isat
on
sat.controle = isat.codnfce
inner join
testoque est
on
isat.codproduto = est.controle
where
sat.dataemissao between '11/01/2022' and '11/30/2022'
and sat.sat = 'SIM' and sat.protocolo is not null and sat.protocolocancelamento
is null
and (sat.inutilizada <> 'SIM' or sat.inutilizada is null) and sat.codigostatus
= '6000'

Group by
isat.codproduto,
isat.produto,
est.codbarras,
est.precovenda,
est.referencia,
est.qtde,
est.codaplicacaoproduto

Union all

Select
ios.codservico Codproduto,
ios.descricao produto,
est.codbarras,
est.precovenda,
est.referencia,
est.qtde,
sum(ios.quantidade) tt,
sum(ios.valorunitario) ttbruto,
sum(ios.valortotal) ttunit,
iif(est.codaplicacaoproduto <> '09', (((avg(coalesce(ios.valorunitario, 0)) -
avg(coalesce(ios.precocustoitem, 0))) * 100) / avg(coalesce(ios.precocustoitem,
0))),0) as lucro
from
tos os
inner join
titemos ios
on
os.controle = ios.codos
inner join
testoque est
on
ios.codservico = est.controle
where
cast(os.dataehoracadastro as date) between '11/01/2022' and '11/30/2022'
and os.cancelada <> 'SIM' and os.faturadatotal = 'SIM' and
ios.indicadorcancelamento <> 'S'

Group by
ios.codservico,
ios.descricao,
est.codbarras,
est.precovenda,
est.referencia,
est.qtde,
est.codaplicacaoproduto
)A
Group by
codproduto,
produto,
codbarras,
referencia,
qtde,
precovenda
ORDER BY
PRODUTO

Você também pode gostar