Игнорирование параметров

Burya_
Дата: 02.03.2007 11:22:39
Всем привет!
Подскажите как мне реализовать такую штуку
У меня есть таблица с 5 параметрами: p1,p2,p3,p4,p5

Необходимо написать запрос типа
select * from t1
where a1=p1
and a2=p2
and a3=p3
and a4=p4
and a5=p5
--a1-a5 - колонки таблицы t1,
И в случае если какой то из параметров p1-p5 принимает значение 99, игнорировать это условие в запросе
Например p2=99, тогда условие a2=p2 - в любом случае должно возвращать true
dmidek
Дата: 02.03.2007 11:25:33
select * from t1
where a1=decode(p1, 99, a1, p1)
and ...
evostr
Дата: 02.03.2007 11:25:49
or
Elic
Дата: 02.03.2007 11:25:54
decode(pI, 99, 0, aI, 0) = 0
Elic
Дата: 02.03.2007 11:27:22
dmidek
a1=decode(p1, 99, a1, p1)
a1 is null :)
evostr
Дата: 02.03.2007 11:30:33
2 Elic & dmidek
А чем вариант (a1=p1 or p1=99) плох?
Vint
Дата: 02.03.2007 11:30:44
case
dmidek
Дата: 02.03.2007 11:33:19
evostr
2 Elic & dmidek
А чем вариант (a1=p1 or p1=99) плох?


ИМХО ничем, просто букв побольше.
Уж во всяком случае лучше моего варианта с дырой :-(
Elic
Дата: 02.03.2007 11:33:36
evostr
А чем вариант (a1=p1 or p1=99) плох?
А сам не догадываешься? :)
Vint
Дата: 02.03.2007 11:33:43
Извиняюсь фигню сморозил, конечно же decode и nvl