Tabelas
(a)Pedidos : Cod_pedido, desc_pedido,cod_serv ....
(b)Pedido_Artigos: Cod_pedido, Cod_Artigo, unidade, Quant_pedida...
(c)Artigos: Cod_Artigo,descrição_Art...
(d)Movimentos:Cod_Artigo, qt_movi, tipo_movi, cod_serv
select a.cod_pedido,
a.desc_pedido,
d.cod_serv,
d.Cod_Artigo,
c.descrição_Art,
c.unid_med,
b.quant_pedida Ideal,
(-1) * (round(sum(decode(d.tipo_movi, 'SD', d.qt_movi, 0)), 2)) Quant_consumida
from pedidos a, pedido_artigo b, artigos c, movimentos d
where b.Cod_Artigo = c.Cod_Artigo
and a.cod_pedido = b.cod_pedido
and a.cod_serv = d.cod_serv
and a.cod_pedido = '23'
and c.Cod_Artigo = d.Cod_Artigo
group by d.Cod_Artigo,
a.cod_pedido,
a.desc_pedido,
d.cod_serv,
b.Cod_Artigo,
c.descrição_Art,
c.unid_med,
b.quant_pedida,
order by a.cod_pedido desc
COD_PEDIDO DESC_PEDIDO COD_SERV ARTIGO DESCRICAO UNID_MED IDEAL QUANT_CONSUMIDA
23 DESCRICAO TEST 123 101 TESTE 101 GR 5 11
b.Cod_artigo
não existir na tabela movimentos ele retorne Vazio (ou outro caractere) na coluna Quant_consumida, se existir ele retorna então a soma.
será possivél ?
como faço isso ? case ? If?
Obrigado