Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Проблема с SQL запросом через ADOQuery


Автор: redrick 27.3.2009, 03:24
Есть простенькая аксесовская база, подключеная через ADOConnection->ADOQuery->ADODataSource  

http://ipicture.ru/Gallery/Viewfull/16293670.html

и я написан такой запрос к ней:

Код

procedure TForm1.Button2Click(Sender: TObject);
begin
  with ADOQuery1 do begin
    Close;
    SQL.Clear;
    SQL.Add('select c.type, c.company, c.input, c.output, c.integration, c.dop_harakterist, c.price  from '
    + '((select min(ir.id_regulatora) as reg_id, res.id_algoritma, min(res.minprice) as price from '
    + '((SELECT i.id_algoritma, Min(r.price) AS minprice from Regulators r '
    + 'inner join Realisaciya i on r.ID = i.id_regulatora '
    + 'where i.id_algoritma in (1, 2, 3) '
    + 'GROUP BY  i.id_algoritma) as res '
    + 'inner join Realisaciya as ir on res.id_algoritma = ir.id_algoritma) '
    + 'inner join Regulators as a on res.minprice = a.price '
    + 'group by res.id_algoritma) as b '
    + 'inner join Regulators as c on b.reg_id = c.ID) '
    + 'inner join Algoritms as d on b.id_algoritma = d.ID');

    Open;
  end;

end;


в аксесе я проверял - он работает. А в делпхи имею ошибку:
http://ipicture.ru/Gallery/Viewfull/16293823.html

причем вот такое вот работает:

Код

    + 'SELECT i.id_algoritma, Min(r.price) AS minprice from Regulators r '
    + 'inner join Realisaciya i on r.ID = i.id_regulatora '
    + 'where i.id_algoritma in (1, 2, 3) '
    + 'GROUP BY  i.id_algoritma '


такое ощущение что ругается на алиас ( "AS res").

Есть идеи ? 

Автор: Dmi3ev 28.3.2009, 00:57
Цитата

такое ощущение что ругается на алиас ( "AS res").

возьмите ВСЕ подобные вещи в квадратные скобки
Код

AS [res]


ЗЫ раз уж дали схему бд, можно было бы и полное описание полей, а то в таком виде в запросе разбираться муторно...

Автор: Akella 28.3.2009, 17:19
Цитата(redrick @  27.3.2009,  03:24 Найти цитируемый пост)
А в делпхи 

Дельфи. ph читается, как ф.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)