Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с SQL запросом через ADOQuery, Неопознанная ошибка  
:(
    Опции темы
redrick
Дата 27.3.2009, 03:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 547
Регистрация: 7.1.2004
Где: Москва

Репутация: нет
Всего: 5



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

user posted image

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

Код

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;


в аксесе я проверял - он работает. А в делпхи имею ошибку:
user posted image

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

Код

    + '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").

Есть идеи ? 


--------------------
Имею Мнение Хрен Оспоришь   
PM MAIL ICQ   Вверх
Dmi3ev
Дата 28.3.2009, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: нет
Всего: 41



Цитата

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

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

AS [res]


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

Это сообщение отредактировал(а) Dmi3ev - 28.3.2009, 00:57


--------------------

PM MAIL   Вверх
Akella
Дата 28.3.2009, 17:19 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



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

Дельфи. ph читается, как ф.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0620 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.