 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
Enviada: Ter Jul 04, 2017 2:18 pm Assunto: Problema no query postgres |
|
|
to com problema neste select aqui
| Código: | WITH CTE_SUMVENDA AS
(
SELECT
v.data_venda as data_venda,
CAST(TO_CHAR(v.data_venda, 'DD/MM/YYYY') || ' - ' || v.hora_venda AS VARCHAR(30)) as Data_Hora,
v.id as n_pedido,
v.origem_venda,
cl.cnpj_cpf as cnpj_cpf,
cl.nome,
SUM(vi.qtd) AS Quantidade,
SUM(vi.qtd * vi.preco_tabela) AS Preço_Bruto,
--//alterado aqui
COALESCE(v.valor_final_desconto, 0) + SUM((vi.preco_tabela * vi.qtd) - (vi.preco_venda * vi.qtd)) AS Desconto,
SUM(vi.preco_tabela * vi.qtd) - COALESCE(v.valor_final_desconto, 0) - SUM((vi.preco_tabela * vi.qtd) - (vi.preco_venda * vi.qtd)) AS Total_Liquido,
--FIM ALTERAÇAO
SUM(vi.valor_preco_custo * vi.qtd) AS Custo,
--SUM(vi.preco_tabela * vi.qtd) - COALESCE(v.valor_final_desconto, 0) + SUM((vi.preco_tabela * vi.qtd) - (vi.preco_venda * vi.qtd) - (vi.valor_preco_custo * vi.qtd)) AS Lucro,
ARRAY_TO_STRING(ARRAY_AGG(vi.nome_produto), ',') AS nome_produto,
ARRAY_TO_STRING(ARRAY_AGG(vi.codigo_barra), ',') AS codigo_barra
FROM venda V
INNER JOIN valor_inicial_caixa vic ON v.id_abertura_caixa = vic.id
LEFT JOIN webc_usuario wc ON wc.id = vic.id_usuario
LEFT JOIN funcionario f ON f.id = wc.id_funcionario
INNER JOIN cliente cl ON v.id_cliente = cl.id OR v.id_cliente = cl.id_web
INNER JOIN venda_itens vi on v.id = vi.id_venda
WHERE v.situacao = 'C'
AND vic.status IN ('F', 'M')
AND DATE(vic.data_hora_final) BETWEEN '04/07/2017' AND '04/07/2017'
AND v.id_cadastro = 23096
GROUP BY 1,2,3,4,5,6
)
SELECT data_venda, Data_Hora, n_pedido, origem_venda, cnpj_cpf,
CASE WHEN n_pedido IS NULL THEN
CASE WHEN data_venda IS NULL
THEN 'Total geral'
ELSE 'Total do dia'
END
ELSE nome
END AS nome,
CAST(CAST(SUM(Quantidade) AS NUMERIC(15,0)) AS VARCHAR(30)) as Quantidade,
CAST(TO_CHAR(SUM(Preço_Bruto),'R$ 999G999G990D99')as varchar(30)) as Preço_Bruto,
CAST(TO_CHAR(SUM(Desconto),'R$ 999G999G990D99')as varchar(30)) as Desconto,
CAST(TO_CHAR(SUM(Total_Liquido),'R$ 999G999G990D99')as varchar(30)) as Total_Liquido,
CAST(TO_CHAR(SUM(Custo),'R$ 999G999G990D99')as varchar(30)) as Custo,
-- ALTERADO AQUI
CAST(TO_CHAR(SUM(Total_Liquido - Custo),'R$ 999G999G990D99')as varchar(30)) as Lucro,
Lucro AS IntLucro,
codigo_barra, nome_produto,
CAST('F' as varchar(10)) as pagamento,
CAST('L' as varchar(10)) as visualizar,
CAST('''' as varchar(10)) as excluir,
COUNT(distinct data_venda) as Qtd_Dias
FROM CTE_SUMVENDA
GROUP BY GROUPING SETS
( (data_venda, Data_Hora, n_pedido, origem_venda, cnpj_cpf, nome,
codigo_barra, nome_produto, pagamento, visualizar, excluir), (data_venda), () )
ORDER BY data_venda, Data_Hora
|
tem um sum aqui
| Código: | | CAST(TO_CHAR(SUM(Total_Liquido - Custo),'R$ 999G999G990D99')as varchar(30)) as Lucro, |
e assim não quer reconhecer este campo
| Código: | | Lucro AS IntLucro, |
Olha o erro
| Citação: | ERROR: column "lucro" does not exist
LINE 50: Lucro AS IntLucro, ...
^
********** Error **********
ERROR: column "lucro" does not exist
SQL state: 42703
Character: 3259 |
_________________ Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree |
|
| Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Ter Jul 04, 2017 2:45 pm Assunto: |
|
|
Boa tarde,
Não sei sei entendi corretamente a questão mas acho que seria o caso de repetir:
| Código: | | CAST(TO_CHAR(SUM(Total_Liquido - Custo),'R$ 999G999G990D99')as varchar(30)) as IntLucro, |
Espero que ajude
Editado pela última vez por imex em Seg Dez 04, 2023 11:50 am, num total de 1 vez |
|
| Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
|
| Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|