Select Produtos.Codigo, Produtos.Descricao, Produtos.UnidadeVenda, IsNull(TabUnidades.Descricao,'') as UnidadeVendaDesc, ((Select IsNull(Sum(QuantNormal),0) from MovProduto as MP_Ent With (NoLock) where MP_Ent.Codigo=Produtos.Codigo and (MP_Ent.AfectaStk='E+' or MP_Ent.AfectaSTK='S-') and MP_Ent.Data<='2021-12-31' ) - (Select IsNull(Sum(QuantNormal),0) from MovProduto as MP_Sai With (NoLock) where MP_Sai.Codigo=Produtos.Codigo and (MP_Sai.AfectaStk='E-' or MP_Sai.AfectaSTK='S+') and MP_Sai.Data<='2021-12-31' ) ) as Inventario, IsNull(Produtos.ClassInventario,'') as Pro_ClassInventario, IsNull(TabClassInventario.CodigoOficial,'') as ClassInventario,IsNull(TabClassInventario.Descricao ,'') as ClassInventarioDesc From Produtos Inner Join TabUnidades on TabUnidades.Codigo = Produtos.UnidadeVenda Inner Join TabSituacao on TabSituacao.Codigo = Produtos.Situacao Left Outer Join TabClassInventario on TabClassInventario.Codigo = Produtos.ClassInventario Where Produtos.NumRegisto > 0 and Produtos.Portes <> '1' and Produtos.Servico <> '1' Order By Produtos.Codigo