Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.07;
Скачать: CL | DM;

Вниз

исключение параметров из запроса не меняя тело   Найти похожие ветки 

 
nick_van_rijn ©   (2007-06-01 16:14) [0]

Господа подскажите.
запрс вида
select t1.*,t2.* from t1,t2 where (t1.код=t2.код) and(t1.дата between [:D] and [:D1]) and (t1.Данные like[:N])
Каким образом передавать параметры что бы не меняя тела запроса можно было  выбрать
1. (t1.Данные=[:N]) на все даты
2 с 1 мая по 30 независимо от (t1.Данные=[:N])
Если со вторым понятно -передать "*" как строку, то с датами не все понятно.


 
sniknik ©   (2007-06-01 16:27) [1]

select * from t1 INNER JOIN t2 ON t1.[код]=t2.[код]
where (t1.[дата] between :D and :D1 OR :D2 IS Null) AND (:N1 IS Null OR t1.[Данные] like :N)

> Если со вторым понятно -передать "*" как строку
сравнение на null будет быстрее чем строковое сравнение с "*" (кстати нужно не * а %... или все переделывать раз у тебя BDE)


 
Sergey13 ©   (2007-06-01 16:28) [2]

> [0] nick_van_rijn ©   (01.06.07 16:14)

select t1.*,t2.* from t1,t2 where (t1.код=t2.код)
and((:need_date=1 and t1.дата between [:D] and [:D1]) or :need_date=2)
and ((:need_data=1 and t1.Данные like[:N]) or :need_data=2)


Управляя параметрами :need_date и :need_datа можно достичь желаемого
Если движок не позволяет использовать пераметр дважды, немного модифицируй запрос.


 
nick_van_rijn ©   (2007-06-01 16:34) [3]

>>sniknik © а никто не говорил что bde.


 
nick_van_rijn ©   (2007-06-01 16:38) [4]

конечно два дополнительных параметра это вариант.... но...


 
sniknik ©   (2007-06-01 17:22) [5]

>а никто не говорил что bde.
обдумай фразу тщательнее... там выбор, или/или.

и кстати очень зря, что не говорил.

> конечно два дополнительных параметра это вариант.... но...
ничего не поделаешь. если был не аксесс, а mssql(др.) можно было бы обойтись имеющимися, в нем возможны пакеты команд и переменные в запросах (один раз присваиваеш в нескольких местах используешь).



Страницы: 1 вся ветка

Текущий архив: 2007.10.07;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
9-1160475693
grouzd)ev
2006-10-10 14:21
2007.10.07
Конкурсы по кодингу игр


2-1189284962
Антон Шестаков
2007-09-09 00:56
2007.10.07
Очистка Dbimage


2-1189180739
Black_Tomcat
2007-09-07 19:58
2007.10.07
Ошибка при удалении Edit.


1-1185448950
AndreyRU
2007-07-26 15:22
2007.10.07
Блокировка мышиных сообщений! TPopupMenu..


2-1189529913
Black_Tomcat
2007-09-11 20:58
2007.10.07
Через ScrollBar.Hadle изменить позицию ScrollBar.