Erro no subselect
20/08/2003
0
Estou fazendo um sql com um sub Select onde a tabela movtobem é a tabela pai e a itensbem é a tabela filha. Nesse exemplo que coloquei se no sub Select voltar diferente de nulo ele funciona perfeitamente, mas se voltar nulo ele não traz todos os registros que deveria de trazer. Fiz um teste fazendo o subselect voltando voltou nulo. E o resultado deveria voltar 3 registros, mas voltou somente 2 .Isso acontece no firebird.
SELECT Mbe.MbeSq,Ibe.IbeNrItem,Ibe.IbeQt,Ibe.IbeVl
FROM MovtoBem Mbe JOIN ItensBem Ibe ON Mbe.MbeSq = Ibe.MbeSq
WHERE
Ibe.IbeDtRetorno IS NULL AND
Mbe.MbeSq = 16 AND
(NOT Ibe.IbeNrItem IN (SELECT Ibe.IbeNrItem FROM MovtoBem Mbe
JOIN ItensBem Ibe ON Mbe.MbeSq = Ibe.MbeSq
WHERE
Ibe.BemSq = IBe.BemSq AND
Mbe.MbeSqMovimEstornada = 16))
ORDER BY Ibe.IbeNrItem
SELECT Mbe.MbeSq,Ibe.IbeNrItem,Ibe.IbeQt,Ibe.IbeVl
FROM MovtoBem Mbe JOIN ItensBem Ibe ON Mbe.MbeSq = Ibe.MbeSq
WHERE
Ibe.IbeDtRetorno IS NULL AND
Mbe.MbeSq = 16 AND
(NOT Ibe.IbeNrItem IN (SELECT Ibe.IbeNrItem FROM MovtoBem Mbe
JOIN ItensBem Ibe ON Mbe.MbeSq = Ibe.MbeSq
WHERE
Ibe.BemSq = IBe.BemSq AND
Mbe.MbeSqMovimEstornada = 16))
ORDER BY Ibe.IbeNrItem
Acacio
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)