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

Вниз

Запрос на базе другого запроса   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.042 c
4-1147110870
Polas
2006-05-08 21:54
2006.09.03
как узнать Handle окна зная handle процесса


15-1155063222
Евгений К.
2006-08-08 22:53
2006.09.03
Обмен опытом на практике


2-1155197307
Neket
2006-08-10 12:08
2006.09.03
информация


2-1155722658
SamProf
2006-08-16 14:04
2006.09.03
Как создать MDI Child форму из DLL ки


15-1155014316
Иксик
2006-08-08 09:18
2006.09.03
О дезинформации