consulta sql
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.
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
Curtidas 0
Respostas
Truck1n
11/01/2007
BOA TARDE,
TALVES ISSO POSSA AJDUAR VC!
ABRAÇOS!
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!
GOSTEI 0
Emerson Nascimento
11/01/2007
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
GOSTEI 0