Форум: "Базы";
Текущий архив: 2007.09.02;
Скачать: [xml.tar.bz2];
ВнизSQL запрос в Oracle через ADOQuery Найти похожие ветки
← →
mefodiy (2007-05-07 10:45) [0]Есть запрос вида:
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 выполняется без проблем.
Где здесь ошибка?
Заранее благодарен.
← →
Reindeer Moss Eater © (2007-05-07 10:47) [1]DISTINCT здесь лишний.
← →
Reindeer Moss Eater © (2007-05-07 10:48) [2]И кроме того, групбай должен содержать все неагрегированные поля селекта
← →
mefodiy (2007-05-07 10:51) [3]Без DISTINCT та же ошибка
← →
Reindeer Moss Eater © (2007-05-07 10:52) [4]Я и не говорил, что ошибка из-за дистинкта.
Он лишний.
← →
mefodiy (2007-05-07 10:53) [5]Т.е. должно быть так?
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:57) [6]Смысл своего дистинкта на естественном языке можешь озвучить?
← →
mefodiy (2007-05-07 10:58) [7]Действительно ошибка не появилась.
Спасибо!
← →
ANB © (2007-05-07 12:13) [8]
> mefodiy (07.05.07 10:58) [7]
Совет - прежде чем засовывать запрос в программу на делфи - отладь его в девелопере.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2007.09.02;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.044 c