Dúvida com código SQL
No seguinte código
ocorre o seguinte erro:
o que tem de errado no meu SQL, quando executo cada select individualmente ele rola na boa!
Obrigado
select Janeiro as mes, sum(cast (ne.total as numeric(10,2))) as Total_Vendas from notas_emitidas ne where extract (month from ne.data_emissao) = 1 and extract (year from ne.data_emissao) = :Ano union all select Fevereiro as mes, sum(cast (ne.total as numeric(10,2))) as Total_Vendas from notas_emitidas ne where extract (month from ne.data_emissao) = 2 and extract (year from ne.data_emissao) = :Ano union all select Março as mes, sum(cast (ne.total as numeric(10,2))) as Total_Vendas from notas_emitidas ne where extract (month from ne.data_emissao) = 3 and extract (year from ne.data_emissao) = :Ano group by 1, 2
ocorre o seguinte erro:
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Invalid command.
Data type unknown.
Dynamic SQL Error.
SQL error code = -104.
Invalid command.
Data type unknown.
o que tem de errado no meu SQL, quando executo cada select individualmente ele rola na boa!
Obrigado
Rafael Farias
Curtidas 0
Respostas
Eduardo Richeli
05/01/2012
amigo este seu sql esta um bocado redundante, você poderia fazer uma procedure, com for, vai ficar bem mais rapido a recuperação das suas informações
GOSTEI 0
Rafael Farias
05/01/2012
eu consegui corrigir ele para funcionar, mas se puder me dar o exemplo do FOR, agradeceria muito para meus estudos.
=)
=)
GOSTEI 0
Emerson Nascimento
05/01/2012
tente:
select
(month from data_emissao) as mes,
cast(coalesce(sum(total),0) as numeric(10,2)) as Total_Vendas
from notas_emitidas
where extract (year from data_emissao) = :Ano
group by 1
select
(month from data_emissao) as mes,
cast(coalesce(sum(total),0) as numeric(10,2)) as Total_Vendas
from notas_emitidas
where extract (year from data_emissao) = :Ano
group by 1
GOSTEI 0
Eduardo Richeli
05/01/2012
amigo no inicio a codificação union ficou blz, mas medida que as tabelas almentavam de volume ficava + lento, entao criei as SP onde melhorou 95%
FOR SELECT xxxxx from tabela
INTO xxxxx DO
SUSPEND;
tem muitas documentaç~çoes na net sobre isto, basta pesquisar, abraços
FOR SELECT xxxxx from tabela
INTO xxxxx DO
SUSPEND;
tem muitas documentaç~çoes na net sobre isto, basta pesquisar, abraços
GOSTEI 0