FIREBIRD OR

WILLVIDAL 05/05/2015 12:13:17
#446376
Boa tarde,
Essa pergunta está mais para Banco de dados do que para VB, mas creio que alguém já tenha passado por isso. Preciso fazer uma consulta no firebird que retorna de acordo com 2 parâmetros, se encontrar pelo primeiro retorna ele, se não, procura pelo segundo. Imagina a tabela teste com campos t1 e t2, preenchidos da seguinte forma:

T1 T2
1 2
2 1
3 2

se eu fizer: select * from teste where t1 = 1 or t2 = 1, isso irá me retornar
(1,2) e (2,1)

eu gostaria que ele me retornasse (2, 1) somente se não houvesse o registro (1, 2), ou seja, seria um OR exclusivo.
Alguém tem alguma noção de como fazer ?
(Não sei se fui claro )






PROFESSOR 15/05/2015 13:35:40
#446677
Você filtrou usando apenas o parâmetro coincidente e não o parâmetro restritivo. Tente algo assim:

select * from teste where (t1 = 1 and t2 !=1) or (t2 = 1 and t1 != 1)
Faça seu login para responder