Fórum consulta sql #57668

11/01/2007

0

Oi Uso Delphi 7 com Firebird 1.5 e paleta interbase.


Preciso fazer uma consulta onde seja escolhido as somas das parcelas das movimentações de uma tabela que não esteja em outra ou não tenha sido totalmente paga.
Algo do tipo:

select * from Table1 left join table2 on (Table1.CodMov = Table2.CodMo
and Table1.CodFilial = Table2.CodFilial
and Table1.CodFilial = 1
and ((Table1.ValorTotal >Table2.ValorPago))
where Table1.CodMov is null

Dessa forma os dados da minha tabela aparecem somente aqueles que nao foram pagos na segunda, mas eu precisava que aparecesse os que não estivessem na segunda tabela tambem.

Tentei colocar o left outer join mas não funcionou.
Tentei fazer um segundo select mas a consulta ficou ainda mais lenta do que já é.

Agradeço antecipadamente qualquer ajuda.


Salupe

Salupe

Responder

Posts

11/01/2007

Truck1n

BOA TARDE,

TALVES ISSO POSSA AJDUAR VC!
Regras: Duas regras básicas para o uso do UNION - O número e a ordem das colunas deve ser identico em todas as queries - O tipo de dados deve ser compativel, caso náo for, uma dica seria converter tudo pra varchar usando a função convert Opções: Temos a opção de definir a união total com UNION ALL ou somente a união simples com UNION, vejamos abaixo as diferenças: - UNION: faz a união e já elimina linhas idênticas - UNION ALL: faz a união e mantém as linhas idênticas


select campo1 from OWNER.TABELA
union 
select campo1 from OWNER.TABELA
where 
CAMPO = ´VALOR´


ABRAÇOS!


Responder

Gostei + 0

11/01/2007

Emerson Nascimento

veja se isso ajuda:
select
  *
from
  Table1
left join
  Table2 on (Table2.CodMo = Table1.CodMov
    and Table2.CodFilial = Table1.CodFilial
    and coalesce(Table2.ValorPago,0) < coalesce(Table1.ValorTotal,0))
where
  Table1.CodMov is null
  and Table1.CodFilial = 1



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar