[ОТВЕТИТЬ]
Опции темы
01.12.2006 19:08  
omorozov
Сделал запрос

SELECT a.clientindex, SUM(a.totalsum)
FROM smdocuments@dbrespc a,
where a.doctype='WI' and a.opcode!=3
And createdat>=TO_DATE('01.09.2006','dd.mm.yyyy')
Group by clientindex


но если пытаюсь добавить в запрос поля еще из одной таблицы, например
SMClientInfo@dbrespc b - ругается что выражение не Group by

Как такие задачи решать в Оракле?
И еще: Group by 1 почему то тоже выдает ошибку.
 
01.12.2006 20:59  
OlegON
может сначала опишешь, что же ты хочешь?
 
02.12.2006 13:07  
slava
Цитата:
Сообщение от omorozov
And createdat>=to_date(TO_DATE('01.09.2006','dd.mm.yyyy'))
TO_DATE 2 раза для надежности?
 
02.12.2006 13:35  
Mtirt
А smdocuments@dbrespc это еще и к удаленной базе по DBlink-у?

Может имеет смысл хоть SMClientInfo локальный брать?
 
03.12.2006 10:28  
akonev
Цитата:
Сообщение от omorozov
но если пытаюсь добавить в запрос поля еще из одной таблицы, например
SMClientInfo@dbrespc b - ругается что выражение не Group by
Логика примерно такая: если поле указано в "group by", то для каждой строки
понятно что писать в эти поля - они уникальны для каждой строки.

если в "group by" поля нет, но по нему прописана агрегатная функция (SUM, MAX, MIN....),
то опять понятно - что функция вернет.

а если не то и не другое - тогда непонятно, что возвращать, если возможных значений
больше чем одно. вот про это оно и ругается.

То есть добавляя поле или загони его в "group by" или укажи для него функцию. я обычно пишу MAX(поле) .
Может матерые ораклисты подскажут более правильный путь, но этот - работает *04
 
04.12.2006 10:53  
omorozov
Цитата:
Сообщение от olegon
может сначала опишешь, что же ты хочешь?
Хотелось в выборке сумм накладных по поставщикам увидеть не их коды,
а названия, вот и хотел связать в одном запросе Название из таблицы контрагентов
 
04.12.2006 10:55  
omorozov
Цитата:
Сообщение от Mtirt
А smdocuments@dbrespc это еще и к удаленной базе по DBlink-у?

Может имеет смысл хоть SMClientInfo локальный брать?
Запрос локальный, просто использовал предыдущий запрос, в котором были линки
 
04.12.2006 11:10  
omorozov
Цитата:
Сообщение от Andrew_Konev
Цитата:
Сообщение от omorozov
но если пытаюсь добавить в запрос поля еще из одной таблицы, например
SMClientInfo@dbrespc b - ругается что выражение не Group by
Логика примерно такая: если поле указано в "group by", то для каждой строки
понятно что писать в эти поля - они уникальны для каждой строки.

если в "group by" поля нет, но по нему прописана агрегатная функция (SUM, MAX, MIN....),
то опять понятно - что функция вернет.

а если не то и не другое - тогда непонятно, что возвращать, если возможных значений
больше чем одно. вот про это оно и ругается.

То есть добавляя поле или загони его в "group by" или укажи для него функцию. я обычно пишу MAX(поле) .
Может матерые ораклисты подскажут более правильный путь, но этот - работает *04
Спасибо, сработало
 
 
Опции темы



Часовой пояс GMT +3, время: 11:08.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.