Qual o comando para Divisão no Firebird ?
26/11/2021
0
(ss.qtde / ss.vlrmed)
Alguém pode me ajudar?
Marcos Batista
Posts
26/11/2021
Emerson Nascimento
o que aconteceu? deu erro? não gerou o resultado esperado?
publique parte do conteúdo da tabela e qual o resultado apresentado ao dividir esse conteúdo.
26/11/2021
Marcos Batista
o que aconteceu? deu erro? não gerou o resultado esperado?
publique parte do conteúdo da tabela e qual o resultado apresentado ao dividir esse conteúdo.
data,
doc,
grupo,
cdc,
cod,
matmed,
qtde,
vlrmed,
und
from (
select
s.data,
s.doc,
''''SAIDA'''' movimentacao,
(select first 1 g.nome from gegrupos g where g.cod = i.gru) grupo,
(select first 1 nome from tbcencus where cod=s.cdc) cdc,
ss.item cod,
i.nome matmed,
i.uni_con und,
ss.qtde,
ss.vlrmed,
0 devol_custo
from gecadsai s
left join gelansai ss on s.ano=ss.ano and s.mes=ss.mes and s.doc=ss.doc
left join geitens i on ss.item=i.cod
where ss.consol=''''T''''
and s.data between :data1 and :data2
group by
s.data,
s.doc,
i.gru,
s.cdc,
ss.item,
i.nome,
i.uni_con,
s.data,
ss.vlrmed,
ss.qtde
UNION
select
d.data,
d.doc,
''''DEVOLUÇÃO'''' movimentacao,
(select first 1 g.nome from gegrupos g where g.cod = ii.gru) grupo,
(select max(nome) from tbcencus where cod=d.cdc) cdc,
l.item cod,
ii.nome matmed,
ii.uni_con und,
0 saida_custo,
l.qtde,
l.vlrmed
from gecaddev d
left join gelandev l on d.id=l.id_gecaddev
left join geitens ii on l.item=ii.cod
where l.consol=''''T''''
and d.data between :data1 and :data2
group by
d.data,
d.doc,
ii.gru,
d.cdc,
l.item,
ii.nome,
ii.uni_con,
d.data,
l.vlrmed,
l.qtde
)
order
by cdc,
matmed,
cod,
grupo
essa é a query, quando adiciono essa divisão não funciona nada
26/11/2021
Emerson Nascimento
dá erro? qual o erro apresentado??
26/11/2021
Marcos Batista
dá erro? qual o erro apresentado??
Dynamic SQL Error.
SQL error code = -104.
Invalid command.
count of column list and variable list do not match.
erro apresentado
26/11/2021
Marcos Batista
o que aconteceu? deu erro? não gerou o resultado esperado?
publique parte do conteúdo da tabela e qual o resultado apresentado ao dividir esse conteúdo.
SQL error code = -104.
Invalid command.
count of column list and variable list do not match.
erro apresentado
26/11/2021
Emerson Nascimento
select data, doc, (select first 1 g.nome from gegrupos g where g.cod = tab.gru) grupo, (select first 1 nome from tbcencus t where t.cod = tab.cdc) cdc, cod, matmed, qtde, vlrmed, divisao, -- campo novo und from ( select s.data, s.doc, 'SAIDA' movimentacao, i.gru, s.cdc, ss.item cod, i.nome matmed, i.uni_con und, ss.qtde, ss.vlrmed, 0 devol_custo, (ss.qtde / ss.vlrmed) divisao -- é isso mesmo? quantidade divida pelo valor??? from gecadsai s left join gelansai ss on s.ano=ss.ano and s.mes=ss.mes and s.doc=ss.doc left join geitens i on ss.item=i.cod where ss.consol='T' and s.data between :data1 and :data2 group by s.data, s.doc, i.gru, s.cdc, ss.item, i.nome, i.uni_con, s.data, ss.vlrmed, ss.qtde UNION select d.data, d.doc, 'DEVOLUÇÃO' movimentacao, ii.gru, d.cdc, l.item cod, ii.nome matmed, ii.uni_con und, l.qtde, l.vlrmed, 0 saida_custo, -- este campo estava na ordem errada! ao utilizar UNION, garanta que os campos 'semelhantes' estejam na mesma posicao (l.qtde / l.vlrmed) divisao, -- é isso mesmo? quantidade divida pelo valor??? from gecaddev d left join gelandev l on d.id=l.id_gecaddev left join geitens ii on l.item=ii.cod where l.consol='T' and d.data between :data1 and :data2 group by d.data, d.doc, ii.gru, d.cdc, l.item, ii.nome, ii.uni_con, d.data, l.vlrmed, l.qtde ) tab order by cdc, matmed, cod, grupo
Clique aqui para fazer login e interagir na Comunidade :)