Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Можно ли Case включить в Group by (число прочтений - 1940 )
NickAn
Junior Member
**
Отсутствует



Сообщений: 69
Зарегистрирован: 08. Октября 2007
Пол: Мужской
Можно ли Case включить в Group by
18. Января 2008 :: 13:27
Печать  
Есть такой вот код, хочу по нему сделать группировку. Подскажите как
Код
Выбрать все
|(Case
|When $ПоследнееЗначение.Клиенты.Плательщик(Рег.Клиент,:ВыбКонПериода) <> $ПустойИД
|Then $ПоследнееЗначение.Клиенты.Плательщик(Рег.Клиент,:ВыбКонПериода)
|Else Рег.Клиент End) as [Плательщик $Справочник.Клиенты]"

 

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



Сообщений: 69
Зарегистрирован: 08. Октября 2007
Пол: Мужской
Re: Можно ли Case включить в Group by
Ответ #1 - 18. Января 2008 :: 13:47
Печать  
Такое прокатило для сортировки, а для группировки ругается
Код
Выбрать все
Order by (Case
|When $ПоследнееЗначение.Клиенты.Плательщик(Рег.Клиент,:ВыбКонПериода) <> $ПустойИД
|Then $ПоследнееЗначение.Клиенты.Плательщик(Рег.Клиент,:ВыбКонПериода)
|Else Рег.Клиент End)
 

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



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Можно ли Case включить в Group by
Ответ #2 - 21. Января 2008 :: 06:12
Печать  
Цитата:
Можно ли Case включить в Group by

case можно, запрос нельзя.
А $ПоследнееЗначение.Клиенты.Плательщик(Рег.Клиент,:ВыбКонПериода) - есть кореляционный подзапрос.

Примени вложенный подзапрос в котором вычислишь Плательщик, а потом уже сгруппируешь с case'ом
Case
|When tmp.Плательщик <> $ПустойИД
|Then tmp.Плательщик
|Else Рег.Клиент End
  

1&&2&&3
Наверх
 
IP записан
 
NickAn
Junior Member
**
Отсутствует



Сообщений: 69
Зарегистрирован: 08. Октября 2007
Пол: Мужской
Re: Можно ли Case включить в Group by
Ответ #3 - 22. Января 2008 :: 07:56
Печать  
Все получилось когда Case включил в подзапрос и вытянул оттуда уже готового плательщика
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Можно ли Case включить в Group by
Ответ #4 - 22. Января 2008 :: 11:49
Печать  
NickAn писал(а) 22. Января 2008 :: 07:56:
Все получилось когда Case включил в подзапрос и вытянул оттуда уже готового плательщика

А если сравнить планы выполнения запроса когда case включен в подзапрос и когда case вынесен. Какова разница?
  

1&&2&&3
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать