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

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

SQL запрос в Oracle через ADOQuery [D7]


mefodiy ©   (2007-05-07 10:45:00) 

Есть запрос вида:

with MyAdoQuery do
begin
  Close;
  SQL.Clear;
  SQL.Add('SELECT DISTINCT ItemId,SUM(LineAmount)
               FROM SalesLine GROUP BY ItemId');
  Open;
end;
Он нормально обрабатывается.
Но как только я добавляю после ItemId в SELECT еще одно поле той же таблицы

  SQL.Add('SELECT DISTINCT ItemId,Barcode,SUM(LineAmount)
               FROM SalesLine GROUP BY ItemId');

то вылетает ошибка "ORA-00979: выражение не является выражением GROUP BY".
Хотя этот тот же запрос в TOAD выполняется без проблем.
Где здесь ошибка?
Заранее благодарен.


ANB   (2007-05-07 12:13:00) [1]


> mefodiy   (07.05.07 10:58) [7]

Совет - прежде чем засовывать запрос в программу на делфи - отладь его в девелопере.


mefodiy   (2007-05-07 10:58:00) [2]

Действительно ошибка не появилась.
Спасибо!


Reindeer Moss Eater   (2007-05-07 10:57:00) [3]

Смысл своего дистинкта на естественном языке можешь озвучить?


mefodiy   (2007-05-07 10:53:00) [4]

Т.е. должно быть так?

with MyAdoQuery do
begin
 Close;
 SQL.Clear;
 SQL.Add('SELECT DISTINCT ItemId,Barcode,SUM(LineAmount)
              FROM SalesLine GROUP BY ItemId,Barcode');
 Open;
end;


Reindeer Moss Eater   (2007-05-07 10:52:00) [5]

Я и не говорил, что ошибка из-за дистинкта.
Он лишний.


mefodiy   (2007-05-07 10:51:00) [6]

Без DISTINCT та же ошибка


Reindeer Moss Eater   (2007-05-07 10:48:00) [7]

И кроме того, групбай должен содержать все неагрегированные поля селекта


Reindeer Moss Eater   (2007-05-07 10:47:00) [8]

DISTINCT здесь лишний.


Наверх

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