Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) Не верное формирование поля группировки в qryMaker v3.28 (число прочтений - 5963 )
oav
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 97
Местоположение: Пермь
Зарегистрирован: 09. Ноября 2009
Пол: Мужской
Не верное формирование поля группировки в qryMaker v3.28
08. Апреля 2011 :: 09:15
Печать  
Ошибка :
Column 'Журнал.DATE_TIME_IDDOC' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

потому , что в запросе формируется

GROUP BY Журнал.DOCNO
, Cast(Left(Журнал.DATE_TIME_IDDOC, 8) AS datetime)
а это не верно , надо по моему

GROUP BY Журнал.DOCNO
, Журнал.DATE_TIME_IDDOC
......
  
Наверх
 
IP записан
 
oav
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 97
Местоположение: Пермь
Зарегистрирован: 09. Ноября 2009
Пол: Мужской
Re: Не верное формирование поля группировки в qryMaker v3.28
Ответ #1 - 08. Апреля 2011 :: 09:41
Печать  
и еще вопрос . Как сформировать конструкцию
WHERE журнал.DATE_TIME_IDDOC BETWEEN :НачДата AND :КонДата

такая конструкция работает на много быстрее, чем та, что формируется автоматом.

и еще ...
Часто выскакивает вот такое сообщение
qryMaker:Invalid procedure call or argument
после которого надо перезагружать конфигуратор, иначе qryMaker не работает .....
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Не верное формирование поля группировки в qryMaker v3.28
Ответ #2 - 08. Апреля 2011 :: 10:00
Печать  
oav писал(а) 08. Апреля 2011 :: 09:15:
Column 'Журнал.DATE_TIME_IDDOC' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

Исправлю.

oav писал(а) 08. Апреля 2011 :: 09:41:
Как сформировать конструкцию
WHERE журнал.DATE_TIME_IDDOC BETWEEN :НачДата AND :КонДата

такая конструкция работает на много быстрее, чем та, что формируется автоматом.

Никак. А какая конструкция формируется автоматом?

oav писал(а) 08. Апреля 2011 :: 09:41:
qryMaker:Invalid procedure call or argument

Запиши последовательность действий для воспроизведения.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
oav
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 97
Местоположение: Пермь
Зарегистрирован: 09. Ноября 2009
Пол: Мужской
Re: Не верное формирование поля группировки в qryMaker v3.28
Ответ #3 - 08. Апреля 2011 :: 10:12
Печать  
berezdetsky писал(а) 08. Апреля 2011 :: 10:00:
oav писал(а) 08. Апреля 2011 :: 09:15:
Column 'Журнал.DATE_TIME_IDDOC' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

Исправлю.

oav писал(а) 08. Апреля 2011 :: 09:41:
Как сформировать конструкцию
WHERE журнал.DATE_TIME_IDDOC BETWEEN :НачДата AND :КонДата

такая конструкция работает на много быстрее, чем та, что формируется автоматом.

Никак. А какая конструкция формируется автоматом?

oav писал(а) 08. Апреля 2011 :: 09:41:
qryMaker:Invalid procedure call or argument

Запиши последовательность действий для воспроизведения.


например можно
|WHERE (Cast(Left(Журнал.DATE_TIME_IDDOC, 8) AS datetime) = BETWEEN :НачДата AND :КонДата)

а потом подправить или через больше меньше

а последовательность действий при ошибке я постараюсь проследить, но пока я не заметил закономерности! Может она и есть надо понаблюдать!
  
Наверх
 
IP записан
 
oav
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 97
Местоположение: Пермь
Зарегистрирован: 09. Ноября 2009
Пол: Мужской
Re: Не верное формирование поля группировки в qryMaker v3.28
Ответ #4 - 08. Апреля 2011 :: 10:15
Печать  
конструкция

(Cast(Left(Журнал.DATE_TIME_IDDOC, 8) AS datetime)

преобразования типов очень сильно замедляет запрос...
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Не верное формирование поля группировки в qryMaker v3.28
Ответ #5 - 08. Апреля 2011 :: 10:26
Печать  
oav писал(а) 08. Апреля 2011 :: 10:15:
конструкция

(Cast(Left(Журнал.DATE_TIME_IDDOC, 8) AS datetime)

преобразования типов очень сильно замедляет запрос...
приведи полностью запрос
если эта конструкция в условие where то да
очень сильно может влиять только не из-за преобразования типов а из-за то го что
нельзя воспользоваться индексом.
если в списке select то практически никак не влияет.

  
Наверх
 
IP записан
 
oav
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 97
Местоположение: Пермь
Зарегистрирован: 09. Ноября 2009
Пол: Мужской
Re: Не верное формирование поля группировки в qryMaker v3.28
Ответ #6 - 08. Апреля 2011 :: 11:05
Печать  
Z1 писал(а) 08. Апреля 2011 :: 10:26:
oav писал(а) 08. Апреля 2011 :: 10:15:
конструкция

(Cast(Left(Журнал.DATE_TIME_IDDOC, 8) AS datetime)

преобразования типов очень сильно замедляет запрос...
приведи полностью запрос
если эта конструкция в условие where то да
очень сильно может влиять только не из-за преобразования типов а из-за то го что
нельзя воспользоваться индексом.
если в списке select то практически никак не влияет.



я просто для экперимента в запросе изменил

           |SELECT Контрагенты.DESCR Наименование
           |      , Sum($РасходнаяНакладнаяСтроки.Сумма) СуммаРасходнаяНакладнаяСтрокиСумма
           |FROM _1SJOURN AS Журнал With (NOLOCK)
           |      INNER JOIN $Документ.РасходнаяНакладная AS РасходнаяНакладная With (NOLOCK) ON Журнал.IDDOC = РасходнаяНакладная.IDDOC
           |      INNER JOIN $ДокументСтроки.РасходнаяНакладная AS РасходнаяНакладнаяСтроки With (NOLOCK) ON Журнал.IDDOC = РасходнаяНакладнаяСтроки.IDDOC
           |      INNER JOIN $Справочник.Контрагенты AS Контрагенты With (NOLOCK) ON $РасходнаяНакладная.Клиент = Контрагенты.ID
           |WHERE (Cast(Left(Журнал.DATE_TIME_IDDOC, 8) AS datetime) BETWEEN :НачДата AND :КонДата)
           |GROUP BY Контрагенты.DESCR
           |";

вместо
|WHERE (Cast(Left(Журнал.DATE_TIME_IDDOC, 8) AS datetime) BETWEEN :НачДата AND :КонДата)

поставил


|WHERE (Журнал.DATE_TIME_IDDOC BETWEEN :НачДата AND :КонДата)

и разница заметна не вооруженным глазом !

  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Не верное формирование поля группировки в qryMaker v3.28
Ответ #7 - 08. Апреля 2011 :: 11:27
Печать  
oav писал(а) 08. Апреля 2011 :: 11:05:
вместо
|WHERE (Cast(Left(Журнал.DATE_TIME_IDDOC, 8) AS datetime) BETWEEN :НачДата AND :КонДата)

поставил

|WHERE (Журнал.DATE_TIME_IDDOC BETWEEN :НачДата AND :КонДата)

и разница заметна не вооруженным глазом !

Кто бы сомневался.  Улыбка А что мешало сразу так написать?
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Не верное формирование поля группировки в qryMaker v3.28
Ответ #8 - 08. Апреля 2011 :: 11:29
Печать  
В (6) наверное ошибка
если хочешь чтобы включился последний день надо писать
:КонДата~
  
Наверх
 
IP записан
 
oav
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 97
Местоположение: Пермь
Зарегистрирован: 09. Ноября 2009
Пол: Мужской
Re: Не верное формирование поля группировки в qryMaker v3.28
Ответ #9 - 08. Апреля 2011 :: 11:30
Печать  
Z1 писал(а) 08. Апреля 2011 :: 11:29:
В (6) наверное ошибка
если хочешь чтобы включился последний день надо писать
:КонДата~


Да, конечно!
  
Наверх
 
IP записан
 
oav
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 97
Местоположение: Пермь
Зарегистрирован: 09. Ноября 2009
Пол: Мужской
Re: Не верное формирование поля группировки в qryMaker v3.28
Ответ #10 - 08. Апреля 2011 :: 11:32
Печать  
Но это не принципиально! Я беру период в неделю!
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Не верное формирование поля группировки в qryMaker v3.28
Ответ #11 - 11. Апреля 2011 :: 09:13
Печать  
berezdetsky писал(а) 08. Апреля 2011 :: 10:00:
oav писал(а) 08. Апреля 2011 :: 09:15:
Column 'Журнал.DATE_TIME_IDDOC' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

Исправлю.

Исправлено в v3.29.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
oav
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 97
Местоположение: Пермь
Зарегистрирован: 09. Ноября 2009
Пол: Мужской
Re: Не верное формирование поля группировки в qryMaker v3.28
Ответ #12 - 11. Апреля 2011 :: 11:12
Печать  
berezdetsky писал(а) 11. Апреля 2011 :: 09:13:
berezdetsky писал(а) 08. Апреля 2011 :: 10:00:
oav писал(а) 08. Апреля 2011 :: 09:15:
Column 'Журнал.DATE_TIME_IDDOC' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

Исправлю.

Исправлено в v3.29.


а где можно взять попробовать..?
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Не верное формирование поля группировки в qryMaker v3.28
Ответ #13 - 11. Апреля 2011 :: 11:25
Печать  
oav писал(а) 11. Апреля 2011 :: 11:12:
а где можно взять попробовать..?

Тут лежит
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Не верное формирование поля группировки в qryMaker v3.28
Ответ #14 - 11. Апреля 2011 :: 11:42
Печать  
Или тут.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать