Amigos, Estou revisando um SQL que até então estava funcionando, mas do nada o mesmo parou de funcionar. Já tentei de tudo para resolve-lo, e a unica forma de fazer funcionar é tirando o " | " das condições que estão dentro da clausula CASE “” WHEN 1 | 4 | 5 THEN.
Se eu deixar com apenas um dos dois funciona, mas até então o mesmo funcionava com os dois. E eu preciso deste SQL funcionando.
O SQL completo é o seguinte:
select distinct(produto_codigo_produto),
(sum(CASE tipooperestoque_codigo_tipo_oper_estoque
when 1 | 4 | 6 THEN e.quantidade
ELSE 0 end) -
sum(CASE tipooperestoque_codigo_tipo_oper_estoque
when 2 | 5 | 7 THEN e.quantidade
ELSE 0 end)) qtde
from estoquesetor e
join setorestab b on b.cod_setor_estab = e.setor_cod_setor_estab
where b.cod_setor_estab = 8
group by 1
HAVING
(sum(CASE tipooperestoque_codigo_tipo_oper_estoque
when 1 | 4 | 6 THEN e.quantidade
ELSE 0 end) -
sum(CASE tipooperestoque_codigo_tipo_oper_estoque
when 2 | 5 | 7 THEN e.quantidade
ELSE 0 end)) > 0
Se alguém souber uma outra maneira de realizar as condiçõesdentro da clausula CASE “” WHEN fico muito grato.
Desde já agradeço a atenção de todos.