Форум: "Начинающим";
Текущий архив: 2006.09.03;
Скачать: [xml.tar.bz2];
ВнизЗапрос на базе другого запроса Найти похожие ветки
← →
UMU © (2006-08-09 14:08) [0]Использую БД Access, с помощью ADOQuery1 отбираю нужные данные.
Подскажите, пожайлуста, как можно сделать ADOQuery2 так, чтобы он выбирал записи из ADOQuery1?
← →
fishka (2006-08-09 14:15) [1]1.Написать 1 запрос, чтобы его результат соответствовал задаче.
2.Через временную таблицу (если они есть в БД Access).
← →
SergP © (2006-08-09 14:21) [2]> [0] UMU © (09.08.06 14:08)
> Использую БД Access, с помощью ADOQuery1 отбираю нужные
> данные.
>
> Подскажите, пожайлуста, как можно сделать ADOQuery2 так,
> чтобы он выбирал записи из ADOQuery1?
Можно например запрос, который у тебя в ADOQuery1, оформить в БД в виде представления...
← →
UMU © (2006-08-09 14:26) [3]1.Одним запросом не получается
2.На базе ADOQuery1 я создаю таблицу в БД, а потом c помощью ADOQuery2 выбираю нужные данные. Все нормально, но появляется вопрос : как программно удалить эту таблицу?
← →
UMU © (2006-08-09 14:30) [4]
> SergP © (09.08.06 14:21) [2]
Такой вариант использую, но нежелательно, чтобы запросы находились в БД.
← →
Sergey13 © (2006-08-09 14:37) [5]> [3] UMU © (09.08.06 14:26)
Так в чем трудность то?
1. Создал таблицу (и заполнил ее данными, насколько я понял, типа insert into select)
2. Читаешь вторым запросом эту таблицу, а не запрос.
3. Третьим квериком убиваешь созданную таблицу.
Нормальная реализация кривой постановки про временные таблицы. 8-)
← →
zdm © (2006-08-09 14:48) [6]DataModule1.ADOQuery_tmp:=DataModule1.ADOQuery_tmp2;
← →
MsGuns © (2006-08-09 17:18) [7]Не надо никаких временных таблиц:
Q2.SQL.Text := "SELECT A.* FROM ("+Q1.SQL.Text+") A "+
"WHERE <тут что надо> ORDER BY ..."
Есть, правда 2 нюанса:
1. Из Q1 надо вырезать ORDER BY, если есть
2. Если Q1 параметрический, то надо в Q2 пробежаться по параметрам и присвоить им те же значения, что и в Q1
← →
UMU © (2006-08-09 17:26) [8]
> Sergey13 © (09.08.06 14:37) [5]
Как я писал UMU © (09.08.06 14:26) [3]
проблем нет кроме удаления таблицы.
> zdm © (09.08.06 14:48) [6]
> DataModule1.ADOQuery_tmp:=DataModule1.ADOQuery_tmp2
А как это использовать?
← →
Ega23 © (2006-08-09 17:34) [9]
Select * from (Select что-то from Table1 T1, Table2 T2 where T1.ID=T2.ID) as A, Table3 T3
where A.что-то = T3.ID
Типа такого что-то
← →
MsGuns © (2006-08-09 18:00) [10]>Ega23 © (09.08.06 17:34) [9]
Передразниваешь ?
;)
← →
Ega23 © (2006-08-09 18:03) [11]
> Передразниваешь ?
Ой, твоего поста не заметил...
← →
UMU © (2006-08-10 10:16) [12]Ребята, спасибо за помощь
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.09.03;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.056 c