Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2007.10.07;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.045 c
2-1189104290
Надуев Алексей
2007-09-06 22:44
2007.10.07
Image


4-1176088521
Alex_AA
2007-04-09 07:15
2007.10.07
Как определить размер монитора?


2-1189176135
*Ray*
2007-09-07 18:42
2007.10.07
Удалить подстроку из очень большой строки (больше 2 ГБ )


15-1189094106
Ezorcist
2007-09-06 19:55
2007.10.07
portable delphi?


3-1180274821
Nic
2007-05-27 18:07
2007.10.07
Импортировать базу даненых в SQL Server 2000





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский