Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Извлечение данных из готового набора!


yozh_programmer ©   (2004-08-07 03:18:00) 

Есть TADOQuery, из которого посредством другого TADOQuery, надо через SQL запрос достать данные! Что писать после FROM в SQL запросе?


сергей1   (2004-08-07 17:20:00) [1]

ремарка по поводу представлений :

в основном, они должны применяться для :
- защита уязвимых данных
-упрощение базы данных с точки зрения пользователя
-абстрактное представление множества физических баз в единой логической базе данных

Неразумно применять их в клиентских приложениях для выборки данных, т.е. создать view -> выбрать из него данные -> удалить view. Зачем ? View - это обьект базы данных, и должен быть создан там только если в нем есть постоянная потребность со стороны клиентов


GanibalLector   (2004-08-07 16:06:00) [2]

Уважаемый,Вам же сказали.Или так :
select Field1 from Table1 where Field1 = (select Field2 from Table2 where Field3 = "some_value")

или через представления.


Grushin   (2004-08-07 13:48:00) [3]


> Есть TADOQuery, из которого посредством другого TADOQuery,
> надо через SQL запрос достать данные

Не очень понятно. Вы хотите в SQL запрос вставить что-то типа такого:
SELECT * FROM другй_TADOQuery ...
Так не получится.
Можеите попробовать
другй_TADOQuery.SQL := TADOQuery.SQL;
другй_TADOQuery.SQL.add('WHERE ...');
Типа так, если я правильно понял вопрос.


сергей1   (2004-08-07 11:26:00) [4]

вообще-то, не совсем понятно, зачем делать два TADOQuery, все можно упаковать в один запрос с помощью подзапроса, типа этого :

select Field1 from Table1 where Field1 = (select Field2 from Table2 where Field3 = "some_value")

Кроме того, вместо большинства подзапросов лучше испиользовать оператор JOIN (хотя, все зависит от конкретной ситуации)

Представление подойдет, если запрос не динамический, тогда действительно проще создать view на серваке и выбирать данные из него, только TADOQuery тогда здесь не нужен


GanibalLector   (2004-08-07 03:30:00) [5]

Тебе поможет view(представления).После создания,первый  TADOQuery.SQL будет выглядеть так: select * from you_view второй так: select * from you_view where ...

З.Ы. Надеюсь БД позволяет создавать представления.


Наверх

Титульная страница Поиск, карта сайта Написать письмо