[firebase-br] ajuda numa query

Leonardo - Lalur Informática leonardo em lalur.com.br
Sex Jun 2 10:34:23 -03 2006


Bom dia pessoal... na query abaixo o que está em NEGRITO não está sendo feito...
o meu gerador_ciapc está em 440, mas ele traz somente os primeiros 440, traz 2392 registros, respeitando as outras condições, mas nao esta..

Alguem pode me ajudar?

Obrigado,
Leonardo



-----------------------------------------------------------------------------------------------------------------



SELECT GEN_ID(gerador_ciapc1,1) || '/' || SUBSTRING('2004-01-01' FROM 1 FOR 4),
       b.data_entrada AS data,
       b.codigo,
       b.nfe,
       fornecedores.razao_social,
       b.descricao,
       b.valor_credito_upf as valor_entrada,
       CAST(0.00 AS NUMERIC(10,2)) AS valor_saida,
       (SELECT SUM(b2.valor_credito_upf)
               FROM bens b2
               WHERE b2.data_entrada <= b.data_entrada
               AND b2.data_termino > b.data_entrada
               AND (b2.data_saida IS NULL OR b2.data_saida > b.data_entrada)
               AND b2.contribuintes_codigo = 19
               AND b2.data_entrada > '2001-01-01 '
               AND b2.codigo IN
                         (SELECT FIRST(GEN_ID(gerador_ciapc1,0) - 1) codigo
                                 FROM bens b3
                                 WHERE b3.data_entrada <= b.data_entrada
                                 AND b3.data_termino > b.data_entrada
                                 AND b3.data_entrada > '2001-01-01'
                                 AND (b3.data_saida IS NULL OR b3.data_saida > b.data_entrada)
                                 AND b3.contribuintes_codigo = 19 )) AS saldo
FROM bens b
LEFT OUTER JOIN fornecedores ON bens.fornecedor_codigo = fornecedores.codigo
WHERE b.data_entrada BETWEEN '2004-01-01' AND '2004-12-31'
AND b.contribuintes_codigo = 19

UNION

SELECT GEN_ID(gerador_ciapc2,1) || '/' || SUBSTRING('2004-01-01' FROM 1 FOR 4),
       b.data_saida AS data,
       b.codigo,
       b.nfe,
       fornecedores.razao_social,
       b.descricao,
       CAST(0.00 AS NUMERIC(10,2)) AS valor_entrada,
       b.valor_credito_upf AS valor_saida,
       (SELECT SUM(valor_credito_upf)
               FROM bens b2
               WHERE b2.data_entrada <= b.data_saida
               AND b2.data_termino > b.data_saida
               AND (b2.data_saida IS NULL OR b2.data_saida > b.data_saida)
               AND b2.contribuintes_codigo = 19
               AND b2.data_entrada > '2001-01-01 '
               AND b2.codigo IN
                         (SELECT FIRST (GEN_ID(gerador_ciapc2,0) - 1) codigo
                                 FROM bens b3
                                 WHERE b3.data_entrada <= b.data_saida
                                 AND b3.data_termino > b.data_saida
                                 AND (b3.data_saida IS NULL OR b3.data_saida > b.data_saida)
                                 AND b3.data_entrada > '2001-01-01'
                                 AND b3.contribuintes_codigo = 19 ) ) AS saldo
FROM bens b
LEFT OUTER JOIN fornecedores ON bens.fornecedor_codigo = fornecedores.codigo
WHERE b.data_saida BETWEEN '2004-01-01' AND '2004-12-31'
AND b.contribuintes_codigo = 19

ORDER BY 2,3;



Mais detalhes sobre a lista de discussão lista