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

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

Объединение SQL запросов


Erwik1900 ©   (2012-03-21 11:09:00) 

Здравствуйте!
Вот у меня к примеру есть два SQL запроса:
[code]
frmmain.ADOQuery1.SQL.Clear;
frmmain.ADOQuery1.SQL.Add('SELECT COUNT(C1) AS C FROM Or');
frmmain.ADOQuery1.Active:=true;
C:=frmmain.ADOQuery1.fields.FieldByNumber(1).AsInteger ;
[/code]
И, второй запрос:
[code]
frmmain.ADOQuery1.SQL.Clear;
frmmain.ADOQuery1.SQL.Add('SELECT COUNT(C1) AS D FROM Or2');
frmmain.ADOQuery1.Active:=true;
D:=frmmain.ADOQuery1.fields.FieldByNumber(1).AsInteger ;
[/code]

Все работает! А можно ли каким то образом обеденить эти два SQL запроса в один, чтобы потом, обработав его, можно было бы получить значение переменных C и D, как то так:
[code]
frmmain.ADOQuery1.SQL.Clear;
frmmain.ADOQuery1.SQL.Add([b]запрос……[/b]);
frmmain.ADOQuery1.Active:=true;
С:=frmmain.ADOQuery1.fields.FieldByNumber(1).AsInteger ;
D:=frmmain.ADOQuery1.fields.FieldByNumber(2).AsInteger ;
[/code]


pavel_guzhanov   (2012-03-21 12:21:00) [1]

Почему придется делать два отдельных запроса?

SELECT COUNT(C1) AS C, (SELECT COUNT(C1) FROM Or2) AS D FROM Or

Разве не так?


Erwik1900   (2012-03-21 12:16:00) [2]

Удалено модератором
Примечание: Это сугубо ваши личные проблемы.


Плохиш   (2012-03-21 12:14:00) [3]


> Мне кажется что для меня это не подходит.

Это сугубо ваши личные проблемы.


Erwik1900   (2012-03-21 12:03:00) [4]

Почитал про вложенные запросы. Мне кажется что для меня это не подходит. Так как в моем примере мне все равно прийдетс делать два отдельныхзапроса.
А мне хотелось это сделать в одном запросе. Что-то  типа такого:
SELECT COUNT(C1) AS C FROM Or AND'SELECT COUNT(C1) AS D FROM Or2

а потом:
С:=frmmain.ADOQuery1.fields.FieldByNumber(1).AsInteger ;
D:=frmmain.ADOQuery1.fields.FieldByNumber(2).AsInteger ;


Плохиш   (2012-03-21 11:55:00) [5]

select (select ...) as c, ...


Erwik1900   (2012-03-21 11:50:00) [6]

А можно пример запроса?


Плохиш   (2012-03-21 11:43:00) [7]

Вложенный селект.


Наверх

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