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

Вниз

SQL запрос с разными условиями отбора.   Найти похожие ветки 

 
JazY   (2005-12-18 21:10) [0]

Ситуация если кратко примерно такая. У меня есть большой SQL запрос, который работает с большим количеством таблиц. В запросе используется условие отбора. Примерно выглядит все так:

SELECT Модель, Материал
FROM Январь
WHERE № = "1"
UNION ALL
SELECT Модель, Материал
FROM Февраль
WHERE № = "1"
и.т.д.

Так вот! Значение № может меняться и находиться в edit1. Вопрос в том как запускать запрос с разными параметрами выборки. Вот в указанном примере выбриются те строки, где № равен 1. Но мне необходимо чтобы запрос выбирал значения указанные в edit1. У меня была такая идея! Есть файл, в нем SQL запрос. Этот файл загружается скажем в memo, затем в этом memo производится замена определенные слов, и затем уже измененный запрос попадает в ADOquery, который в свою очередь проводит выборку. Нутром понимаю, что способ корявый, но знания новичка пока не позволяют придумать ничего лучше. Может подскажите как разумней решить эту задачу?


 
YurikGL ©   (2005-12-18 22:52) [1]

Вариант 1

selectSQL:="SELECT Модель, Материал "+
"FROM Январь "+
"WHERE № = "+IntToStr(1)"+
" UNION ALL "....

Вариант 2
Использовать запрос с параметрами.


 
YurikGL ©   (2005-12-18 22:52) [2]

В IntToStr(1)

вместо 1-цы подставляешь нужную переменную...


 
jack128 ©   (2005-12-19 00:55) [3]

Можно через параметры:

SELECT Модель, Материал
FROM Январь
WHERE № = :PARAM
UNION ALL
SELECT Модель, Материал
FROM Февраль
WHERE № = :PARAM

...
IbDataSet.ParamByName("PARAM").AsString := Edit1.Text;


 
Sergey13 ©   (2005-12-19 09:39) [4]

2JazY   (18.12.05 21:10)
>FROM Январь
Переделай на
FROM "ВсеВремена"



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

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

Наверх




Память: 0.47 MB
Время: 0.014 c
8-1123224565
worldmen
2005-08-05 10:49
2006.01.08
Gif-анимация + TAnimate


3-1131991173
ivb2001
2005-11-14 20:59
2006.01.08
TClientDataSet не видит TDatasetProvider


3-1131691195
irq
2005-11-11 09:39
2006.01.08
IB компоненты и Firebird


3-1131972079
Карелин Артем
2005-11-14 15:41
2006.01.08
Двойная запись ошибки в журнал системы. Нормально ли это?


2-1134909472
з. танька
2005-12-18 15:37
2006.01.08
выгрузить картинку из имаги